如何使用 swift 2.2 使警报视图出现在视图控制器的中心

How to make alert view appear in center of the view controller using swift 2.2

我正在使用 swift 2.2 开发一个应用程序,在我的应用程序中我有一个按钮,当用户点击该按钮时,将出现警报视图,其中包含四个垂直按钮,一切正常,但出现警报视图在视图控制器的底部如何显示在视图控制器的中心。

注意:我不想显示任何标题和消息,我只需要显示四个按钮。

如果我使用这个:

let alert = UIAlertController(title: " ", message: "select colors", preferredStyle: UIAlertControllerStyle.Alert)

它有助于显示在视图控制器的中心,但没有标题和消息看起来不太好,所以我使用了以下代码

代码:

let alert = UIAlertController()

alert.addAction(UIAlertAction(title: "Red Color", style: UIAlertActionStyle.Default, handler: nil))

alert.addAction(UIAlertAction(title: "Blue Color", style: UIAlertActionStyle.Default, handler: nil))

alert.addAction(UIAlertAction(title: "Green Color", style: UIAlertActionStyle.Default, handler: nil))

alert.addAction(UIAlertAction(title: "Yellow Color", style: UIAlertActionStyle.Default, handler: nil))

self.presentViewController(alert, animated: true, completion: nil)

你可以这样做:

let alert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)

它会自动出现在其 属性 的中心 :) 但您真正想要的是什么?

在展示您的 alert

之前,在您的代码中添加以下行
alert.popoverPresentationController!.sourceView = self.view
alert.popoverPresentationController!.sourceRect = self.view.bounds

只需将标题和消息设置为零即可。我在 swift 3.

测试过
let alert = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.alert)