Я хотел бы предотвратить отклонение 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 для вставкиMessage:
[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
с скопированным сообщением, он работает, но я чувствую, что он слишком взломан для того, что можно сделать.