2014-11-06 16 views
0

的會員有點離奇,但我似乎無法爲UIView對象設置代表。該物業去了哪裏?UIView沒有名爲'delegate

class ViewController: UIViewController { 

    // Properties 
    var subView: UIView! 
    var subSubView: UIView! 

    required init(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     println("init(coder aDecoder: NSCoder)") 

     subView = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100)) 
     subSubView = UIView(frame: CGRect(x: 10, y: 10, width: 80, height: 80)) 

     subView.backgroundColor = UIColor.redColor() 
     subSubView.backgroundColor = UIColor.blueColor() 

     subView.delegate = self // Error 
     subSubView.delegate = self // Error 
    } 
} 

我需要委託,以便我可以觀察到我的子視圖的生命週期。

回答

1

UIView沒有(且從未擁有)名爲delegate的房產。

這就是爲什麼你會得到這個錯誤。

你確定你不應該使用你寫的自定義子類UIView嗎?

如果不是,您爲什麼要設置delegateUIView。你究竟在做什麼?

+0

好的,我的壞話呢。我希望我的控制器在某些視圖獲得佈局子視圖時得到通知。如何做到這一點? – 2014-11-06 15:09:23

+0

viewController'viewDidLayoutSubViews'上有一個方法。當視圖(或子視圖)運行'layoutSubViews'時,這將被調用。 – Fogmeister 2014-11-06 15:10:26

+0

它只被調用一次,但我有多個層次的子視圖。我想知道每個子視圖何時開始佈局。 – 2014-11-06 15:11:46