使用按钮更改UIAlertView内容

时间:2016-02-05 09:45:52

标签: ios swift uialertview

我创建了一个UIAlertView。主要内容加载了JSON,我希望当我点击"Completo" button时,内容会更改为另一个变量值completo。当我点击Mapa时,我需要打开地图。当我点击Atrás时,它应该关闭警报(现在所有按钮关闭它)。

var tabla: String = "" // JSON Data
...

@IBAction func Itinerario(sender: AnyObject) {

    let alert = UIAlertView(title: "Itinerario de Procesión", message: (tabla), delegate: nil, cancelButtonTitle: nil, otherButtonTitles: "Completo", "Mapa", "Atrás")

    alert.show()

}

此外,我想更改按钮颜色。

我收到了这个建议:/Users/Javi/Desktop/ElPenitente/El Penitente/Domingo R.swift:87:21: 'UIAlertView' was deprecated in iOS 9.0: UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead

1 个答案:

答案 0 :(得分:1)

所以错误意味着您应该使用UIAlertController代替。

用法很简单:

let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
let action1 = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil)
let action2 = UIAlertAction(title: "Action", style: UIAlertActionStyle.Default) { (action) in
    // Do something here when action was pressed
}

alert.addAction(action1)
alert.addAction(action2)

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

action1具有系统样式.Cancel且没有处理程序,action2具有默认样式和处理程序。

可以使用视图的tintColor属性更改操作的颜色,请参阅this answer