2010-01-30 1 views
1

hi iam создает таблицу UIActionSheet с 2 кнопками. теперь я хочу, чтобы каждая из кнопок делала отдельную работу. как я могу объявить мои 2 кнопки на:UIActionSheet с 2 кнопками .... {iPhone SDK}

- (void)actionSheet:(UIActionSheet *)menu 
       didDismissWithButtonIndex:(NSInteger)buttonIndex 

я использую этот код:

if (buttonIndex != [menu cancelButtonIndex]) { 
    // do somthing 
} 

, но это означает, что если пользователь нажимает любую кнопку кроме CANCEL КНОПКА сделать Somthing. Спасибо.

ответ

1
- (void)actionSheet:(UIActionSheet *)menu didDismissWithButtonIndex:(NSInteger)buttonIndex { 
    if (buttonIndex == [menu cancelButtonIndex]) { 
     // do something because the user clicked "cancel". 
    } else { 
     // do something because the user clicked "the other button". 
    } 
} 
+0

не какие-либо изменения! :) как насчет кнопки 2? гул? – Momi

+0

@Momeks: Значит, вы имеете в виду, что у вас есть * три * кнопки :) – kennytm

+0

Уважаемый. У меня есть 3 кнопки, например Кнопка 1/2/3/Отмена. Теперь что я могу сделать>? – Momi

4

Это будет работать в более общем плане. Вы можете продлить его, как много кнопок, как вам нравится:

- (void)actionSheet:(UIActionSheet *)menu didDismissWithButtonIndex:(NSInteger)buttonIndex { 

    switch (buttonIndex) { 
     case 0: 
      //do something 
      break; 
     case 1: 
      //do something else 
      break; 
     default: 
      break; 
    } 
} 
+0

Спасибо, что отлично работает! – Momi

+0

но есть проблема! например, если поставить предупреждение на случай 0, я получаю некоторую ошибку !!! Зачем ? http://freezpic.com/pics/5a582757ae023e8f55dfcbf535fdbaa3.jpg – Momi

+0

У вас есть ошибка, прежде чем вы объявите UIAlertView. Проверьте вышеприведенную строку, может отсутствовать точка с запятой или что-то подобное. –

0
- (void)actionSheet:(UIActionSheet *)menu didDismissWithButtonIndex:(NSInteger)buttonIndex { 

    switch (buttonIndex) { 

     case 0: 

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Title" 
message:@"hooo" 
delegate:self 
cancelButtonTitle:@"boo" 
otherButtonTitles:@"yoo"]; 

      [alert show]; 
      [alert release]; 

      break; 
      case 1: 
      self.view.backgroundColor = [UIColor redColor]; 
       break; 

     default: 
      break; 
    } 
}