拦截didAddSubview

时间:2012-07-06 14:56:30

标签: ios uiview uiviewcontroller override subclass

我希望这是一个简单的问题。我需要拦截didAddSubview,但我是否需要继承UIView以覆盖该方法?

我要覆盖的UIViewUIViewController的{​​{1}}属性,所以我只想知道如何处理这个问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

来自Apple UIView文档(请参阅覆盖方法):

  

当继承UIView时,你只有少数方法   应该覆盖和许多你可能会覆盖的方法取决于   您的需求。因为UIView是一个高度可配置的类,所以有   还有很多方法可以实现复杂的视图行为   重写自定义方法,在替代方案中讨论   子类化部分。 与此同时,以下列表包括   您可能会考虑覆盖UIView子类的方法

     
      
  • ...
  •   
  • didAddSubview:willRemoveSubview: - 根据需要实施这些方法,以跟踪子视图的添加和删除。
  •   
  • ...
  •   

因此,创建您的UIView子类并覆盖该方法。然后,向您的UIViewController说明其view将是您已分组的那个。要实现这一目标,有两种方法:

  • by Xib
  • 实施loadView方法并将view属性设置为自定义视图
  • view
  • 中重新定义viewDidLoad属性

希望有所帮助。