我有一個UIViewController和一個UIView裏面。當我嘗試在UIView中添加警報時,我必須使用控制器來呈現UIAlertController。如何將UIViewController的引用傳遞給UIView類?或者,我該如何創建一個控制器委託?Swift - 如何將視圖控制器的引用傳遞給子UIView類?
class GameViewController: UIViewController {
@IBOutlet var gameBoardUIView: GameBoardUIView
...
}
class GameBoardUIView: UIView {
...
func move() {
if !gameBoard.checkNextMoveExist() {
var alert = UIAlertController(title: "Game Over", message: nil, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Cancel, handler: {(action: UIAlertAction!) in
println("Game Over")
}))
}))
// Following would fail because self is not a UIViewController here
// self.presentViewController(alert, animated: true, completion: nil)
}
}
}
你有沒有看到這個答案:http://stackoverflow.com/a/3732812/2468186? –
這看起來和你以前的問題是一樣的[如何在Swift中的子視圖類中創建警報?](http://stackoverflow.com/questions/24584364/how-to-create-an-alert-in-a-subview迅速)(你接受了答案)。 –
@MartinR我發佈這個問題的更通用的問題是如何從子UIView引用父控制器。對於正在尋找此類主題的其他人可能會有幫助 – Bing