UIActionSheet vs UIAlertController语言 - iPad



我们是否必须在iOS8中使用UIAlertController或者我们仍然可以使用UIActionSheet?

我不希望为了iOS 8的兼容性而对我们的代码进行大量修改,但是我在iPad上使用UIActionSheet时遇到了几个问题。

例如,当使用UIActionSheet时,我得到这个异常:

UIPopoverPresentationController (<_UIAlertControllerActionSheetRegularPresentationController: 0x7c57bf90>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.

我明白,它是首选与新的UIAlertController工作,但是否有任何解决办法,为了继续与UIActionSheet工作?

也在地方的UIActionSheet实际上显示(毫无例外)它包含一个箭头+它不像以前(iOS7)中心-我使用的showInView(也试图与showFromRect工作,但得到了相同的结果)。

从文档中可以清楚地看出,UIActionSheet已经被弃用了。意味着你仍然可以使用它,但将来它可能会失败或将被完全删除。

我强烈建议你更新到UIAlertController。

你在iPad上得到的例外是清楚的。因为带有actionSheet样式的UIAlertController需要sourceView(来自实际控制器的视图将被呈现),因为它不再全屏(就像它在iPhone上一样)。

最新更新