ios – UIAlertController在外部点击时处理解除(IPad)

ios – UIAlertController在外部点击时处理解除(IPad),第1张

概述在iOS8之前,我们使用UIActionSheet来显示警报,现在我们需要使用UIAlertController. 当我们使用UIActionSheet时,通过将clickedButtonAtIndex与cancelButtonIndex进行比较,我们可以轻松处理用户在d出窗口外点击的情况(这意味着他想要取消 *** 作) – 如果用户确实在d出窗口外按下了取消按钮索引在这个功能. 我们如何使用新的UIA 在iOS8之前,我们使用UIActionSheet来显示警报,现在我们需要使用UIAlertController.

当我们使用UIActionSheet时,通过将clickedbuttonAtIndex与cancelbuttonIndex进行比较,我们可以轻松处理用户在d出窗口外点击的情况(这意味着他想要取消 *** 作) – 如果用户确实在d出窗口外按下了取消按钮索引在这个功能.

我们如何使用新的UIAlertController处理这些情况?我试图使用“完成”块,但它没有任何上下文.有一个简单的方法来处理这个? (除了“保存”某些一般变量中的动作状态).

解决方法 您可以使用样式添加动作:UIAlertActionStyleCancel,当用户点击d出窗口时,将调用此动作的处理程序.

if ([UIAlertController class]) {    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Alert Title" message:@"A Message" preferredStyle:UIAlertControllerStyleActionSheet];    [alertController addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {        NSLog(@"User clicked button called %@ or tapped elsewhere",action.Title);    }]];    [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {        NSLog(@"User clicked button called %@",action.Title);    }]];    [alertController addAction:[UIAlertAction actionWithTitle:@"Other" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {        NSLog(@"User clicked button called %@",action.Title);    }]];    UIControl *aControl = (UIControl *) sender;    CGRect frameInVIEw = [aControl convertRect:aControl.bounds toVIEw:self.vIEw];    alertController.popoverPresentationController.sourceRect = frameInVIEw;    alertController.popoverPresentationController.sourceVIEw = self.vIEw;    alertController.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionAny;    [self presentVIEwController:alertController animated:YES completion:nil];}
总结

以上是内存溢出为你收集整理的ios – UIAlertController在外部点击时处理解除(IPad)全部内容,希望文章能够帮你解决ios – UIAlertController在外部点击时处理解除(IPad)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存