从 UIBarButtonItem 呈现 UIAlertController

Present UIAlertController from UIBarButtonItem

我正在尝试从 UIBarButtonItem 显示 UIAlertController,就像在 Facebook 应用程序的网络浏览器中单击操作按钮时一样。但是一直没有成功。一直在 Stack Overflow、Google、Github 等网站上搜索,但没有找到我要找的东西。

在这里你可以看到它在 Facebook 应用程序中的样子:UIAlertController in the Facebook app

下面是我试过的代码,但我注意到 popoverPresentationController 属性 是 nil.

func showActionSheet(sender: AnyObject) {
    var optionsAlert = UIAlertController(title: nil, message: nil, preferredStyle: .ActionSheet)

    // Add the actions

    optionsAlert.modalPresentationStyle = .Popover
    optionsAlert.popoverPresentationController?.barButtonItem = sender as! UIBarButtonItem

    presentViewController(optionsAlert, animated: true, completion: nil)
}

如果有人能帮助我,我将不胜感激。

提前致谢!

我得出的结论是无法在 iPhone 上将 UIAlertController 显示为弹出窗口。这不是我最初认为的 Facebook 应用程序中所做的,因为您不能将图标添加到 UIAlertAction。

我设法通过将 UITableViewController 添加到我的故事板并添加弹出窗口转场来解决它。遵循本教程对我有帮助:http://richardallen.me/2014/11/28/popovers.html