Как получить UIAlertView название других кнопок?

-(void) alertView: (UIAlertView *) alertVw clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *str = [NSString stringWithFormat:@"%d 。", buttonIndex];
    UIAlertView *newAlertVw = [[UIAlertView alloc] initWithTitle:@"INFO" message:str delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [newAlertVw show];
}


UIAlertView *alertVw = [[UIAlertView alloc] initWithTitle:@"TITLE"
                                                      message:@"box message"
                                                     delegate:self
                                            cancelButtonTitle:@"hide"
                                            otherButtonTitles:@"T1", @"T2", nil];
    [alertVw show];

если пользователь коснулся одной из других кнопок, то мы знаем, к какой кнопке прикоснулся пользователь. тогда, как я могу получить название кнопки, которую пользователь только что коснулся? Благодарю.

3 ответа

Решение

С делегатом на вашем UIAlertView установлен в self Вы можете использовать это:

-(void)alertView:(UIAlertView*)alertView didDismissWithButtonAtIndex:(NSInteger)buttonIndex
{
  NSLog(@"Button Title -----> %@",[alertView buttonTitleAtIndex:buttonIndex]);

  // or you can check if it equals to string
  if([[alertView buttonTitleAtIndex:buttonIndex]isEqual:@"Enter"])
  {
    // your code goes here
  }
}

Метод buttonTitleAtIndex: и информация просто найдена на странице документа UIAlertView.

https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html:

Я советую вам обращаться к документу как можно чаще, именно так вы будете учиться и запоминать.

На самом деле, если вы хотите использовать метод делегата, вы должны использовать -(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex,

и не

- (void) alertView: (UIAlertView *) alertView didDismissWithButton At Index: (NSInteger) buttonIndex

см. https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertViewDelegate_Protocol/UIAlertViewDelegate/UIAlertViewDelegate.html::

Я думаю, это была просто опечатка Панчо.

Другие вопросы по тегам