1

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

UIView我要覆盖的是'UIViewController属性view,所以我只想知道如何使用它。

谢谢!

4

1 回答 1

2

来自 AppleUIView文档(参见Methods to Override):

当子类化 UIView 时,您应该重写的方法很少,并且您可以根据需要重写许多方法。因为 UIView 是一个高度可配置的类,所以也有许多方法可以实现复杂的视图行为,而无需覆盖自定义方法,这些将在“子类化的替代方案”部分中讨论。同时,以下列表包括您可能考虑在 UIView 子类中覆盖的方法

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

因此,创建您的UIView子类并覆盖该方法。然后,对您说UIViewControllerview它将是您子类化的那个。要实现这一点,有几种方法:

  • 由 Xib
  • 实现loadView方法并将view属性设置为您的自定义视图
  • 重新定义view财产viewDidLoad

希望有帮助。

于 2012-07-06T18:00:18.947 回答