2014-11-06 12 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