Я хочу предотвратить отклонение 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]];
}];
Я также попытался установить не в 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;
}
}
Edit, я не смотрю, чтобы предотвратить постукивание UIAlertAction
я ищу, чтобы предотвратить UIAlertController
от отклоняя при нажатии на указанное действие. Действие может быть включено/отключено, но моя цель - просто вставить скопированное сообщение в UITextField
, нажав на действие (следовательно, причина, по которой я не хочу, чтобы его увольняли)
Я также понимаю, что установка BOOL до dismissViewControllerAnimated:
просто устанавливает его на , а не анимирует увольнение диспетчеров представления, я не хочу, чтобы это означало, что это было для прекращения фактического процесса увольнения. Просто предлагаю вещи, которые я пробовал по отношению к моей цели. Я также пробовал представить UIAlertController
при выборе pasteMessage, автоматически заполняющем UIAlertControllers
textField с скопированным сообщением, это работает, но я чувствую, что он слишком взлом для того, что можно сделать.
Возможный дубликат [Запретить увольнение UIAlertController] (http://stackoverflow.com/questions/25628000/prevent-dismissal-of-uialertcontroller) –
Спасибо @LyndseyScott, что не является истинным решением моего вопроса. Это просто предотвращает включение кнопки на основе текстового поля с текстом в нем: вот их решение: '= (tf.text! =" ")', Который просто отключает кнопку от разрешения отклонения представления _eventually_ – soulshined
Но я думаю наиболее важная часть этого ответа заключается в выборе 'UIAlertAction' * will * отклоняет ваше предупреждение. Если вам нужно другое поведение, попробуйте создать собственное собственное представление. –