Я использую Objective-C для написания кода UIAlertController
.
У меня больше кнопок, но кнопки будут отображать разные UIAlertController
и работать с другим обработчиком UIAlertAction
.
Итак, я хочу создать один UIAlertController
и UIAlertAction
.
Как показано ниже:
-(void) initAlert{
alertController = [UIAlertController alertControllerWithTitle:@"hint" message:@"count down alert" preferredStyle:UIAlertControllerStyleAlert];
doneAction = [UIAlertAction actionWithTitle:@"okey" style:UIAlertActionStyleDefault handler:
^(UIAlertAction *action) {
NSLog(@"show log");
}];
[alertController addAction:doneAction];
}
-(void) showAlert{
[self presentViewController:alertController animated:YES completion:nil];
}
Затем я хочу использовать другую кнопку IBAction
для вызова метода showAlert
и установить другой заголовок UIAlertController
, заголовок UIAlertAction
и использовать другой обработчик alertAction
.
Но я сталкиваюсь с некоторыми проблемами.
Я вызываю метод в другой кнопке, как показано ниже:
- (IBAction)btn1Action:(UIButton *)sender {
alertController.title = @"controller 1";
alertController.message = @"message1";
[self showAlert];
}
- (IBAction)btn2Action:(UIButton *)sender {
alertController.title = @"controller 2";
alertController.message = @"message2";
[self showAlert];
}
Я не знаю, как изменить заголовок UIAlertAction
с тем же самым действием doneAction, я ищу некоторые данные, показывающие, что свойство UIAlertAction
is readyonly.
Итак, есть ли другие способы изменить заголовок UIAlertAction
? или мы можем удалить метод UIAlertController
addAction:
, чтобы добавить другие UIAlertAction
?
И как я могу передать другой обработчик UIAlertAction
в AlertAction для использования одного и того же UIAlertController
?
Спасибо большое.