使用iOS 8在iPad上正确呈现UIAlertController

编程入门 行业动态 更新时间:2024-10-28 07:27:05
本文介绍了使用iOS 8在iPad上正确呈现UIAlertController的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

在iOS 8.0中,Apple推出了 UIAlertController 替换 UIActionSheet 。不幸的是,Apple没有添加任何有关如何呈现它的信息。我在hayaGeek的博客上发现了一个关于它的条目,但它似乎无法工作iPad兼容。视图完全错位:

With iOS 8.0, Apple introduced UIAlertController to replace UIActionSheet. Unfortunately, Apple didn't add any information on how to present it. I found an entry about it on hayaGeek's blog, however, it doesn't seem to work on iPad. The view is totally misplaced:

错位:

正确:

我使用以下代码在界面上显示它:

I use the following code to show it on the interface:

let alert = UIAlertController() // setting buttons self.presentModalViewController(alert, animated: true)

有没有其他方法可以为iPad添加它?或者苹果只是忘了iPad,还是没有实现?

Is there another way to add it for iPad? Or did Apple just forget the iPad, or not implemented, yet?

推荐答案

你可以提出 UIAlertController 来自popover,使用 UIPopoverPresentationController 。

You can present a UIAlertController from a popover by using UIPopoverPresentationController.

UIViewController *self; // code assumes you're in a view controller UIButton *button; // the button you want to show the popup sheet from UIAlertController *alertController; UIAlertAction *destroyAction; UIAlertAction *otherAction; alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; destroyAction = [UIAlertAction actionWithTitle:@"Remove All Data" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) { // do destructive stuff here }]; otherAction = [UIAlertAction actionWithTitle:@"Blah" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { // do something here }]; // note: you can control the order buttons are shown, unlike UIActionSheet [alertController addAction:destroyAction]; [alertController addAction:otherAction]; [alertController setModalPresentationStyle:UIModalPresentationPopover]; UIPopoverPresentationController *popPresenter = [alertController popoverPresentationController]; popPresenter.sourceView = button; popPresenter.sourceRect = button.bounds; [self presentViewController:alertController animated:YES completion:nil];

更多推荐

使用iOS 8在iPad上正确呈现UIAlertController

本文发布于:2023-11-27 19:29:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1639310.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:正确   iOS   iPad   UIAlertController

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!