Запретить UIAlertController уволить
Я хотел бы предотвратитьUIAlertController
от увольнения.
у меня естьUIAlertAction
это просто добавляет строку в UIAlertTextField, однако, после прикосновения к ней удаляется контроллер представления [нежелательно]. Я попытался добавить NSNotification с нежелательными результатами.
UIAlertAction *pasteMessage = [UIAlertAction actionWithTitle:@"Paste Message" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
UITextField *textField = alertC.textFields.firstObject;
textField.text = [textField.text stringByAppendingString:[NSString stringWithFormat:@"%@", copiedString]];
}];
Я также попытался установить no для pasteMessage:
[alertC canPerformAction:@selector(dismissViewControllerAnimated:completion:) withSender:pasteMessage];
-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion {
UIAlertController *alertController = (UIAlertController *)self.presentedViewController;
UIAlertAction *paste = alertController.actions.firstObject;
if (paste) {
flag = NO;
} else {
flag = YES;
}
}
Редактировать, я не пытаюсь предотвратить прослушиваниеUIAlertAction
я ищу, чтобы предотвратитьUIAlertController
от увольнения при нажатии на указанное действие. Действие можно включить / отключить как угодно, но моя цель - просто вставить скопированное сообщение вUITextField
нажав на действие (следовательно, причина, по которой я не хочу, чтобы оно было отклонено)
Я также понимаю, установка BOOL наdismissViewControllerAnimated:
просто устанавливает егоне оживить увольнение контроллеров представления, я не хочу, чтобы это подразумевало, что это было для того, чтобы остановить фактический процесс увольнения. Просто предлагая то, что я пробовал в отношении моей цели. Я также попытался представитьновый UIAlertController
при выборе pasteMessage автоматически заполняетсяновый UIAlertControllers
textField с скопированным сообщением, это работает, но я чувствую, что слишком хакерский для того, что можно сделать.