2013-09-06 1 views
0

Я очень новичок в разработке iOS. У меня есть следующий метод, сделанный другим разработчиком.Как обращаться с тегом отправителя в Alert View

-(IBAction)btnDelete:(UIButton *)sender 
{ 
    indexOfBlockedFriend=sender.tag-50; 
    [self deleteFriend]; 
} 

Я хочу показать представление предупреждения до того, как будет выполнено действие удаления. Как это сделать.

ответ

2

Для управления кнопкой AlertView нажмите кнопку, вы должны соответствовать протоколу UIAlertViewDelegate. в your.h

@interface YourViewController:UIViewController<UIAlertViewDelegate>{ 
    ....... 
    ....... 
} 

Затем реализуют методы протокола UIAlertViewDelegate, в your.m

- (void)alertView:(UIAlertView *)alertView 
        clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    if (buttonIndex == 0){ 
     //cancel clicked ...do your action 
    }else if (buttonIndex == 1){ 
     //reset clicked 
    } 
} 
1

С класса UIAlertView

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello World" message:@"Hello" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; 
[alert show]; 

Если вы хотите иметь более одного варианта вам нужно будет стать делегатом для предупреждения, чтобы получить обратный вызов, для которого была затронута кнопка. Делегирование - это концепция объектно-ориентированного программирования (ООП), с которой вам нужно будет ознакомиться.

EDIT:

Вы можете быть заинтересованы в основе блоков UIAlertViews. Тот, который я использую во многих проектах, называется UIAlertView + MKBlockAdditions. Он содержит простые методы обработки всей логики делегата предупреждения в блоке, обрабатываемом предупреждением.

+0

Проблема не показывает представление предупреждения, а обрабатывает действие удаления при нажатии кнопки «ОК» в окне «Предупреждение». Когда я вызываю метод просмотра предупреждений, я передаю элемент управления методу представления предупреждений. Как я затем вызываю то же действие удаления пользователя из вида списка, то есть indexOfBlockedFriend = sender.tag-50; [self deleteFriend]; – Ashesh

+1

@ Quality Coder ответил, что. Вы должны стать делегатом оповещения и реализовать метод clickedButtonAtIndex :. Предупреждение отправляет индекс кнопки в качестве параметра для метода, поэтому вы можете запросить для buttonIndex! = 0 (который является индексом отмены) и запустить там код удаления. – Justin