当我们使用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)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)