1

如果我希望我的 UIView 在 layoutSubviews 上执行自定义逻辑,是通过创建自己的 UIView 子类并实现该方法来实现此目的的唯一方法吗?我想我记得某处的示例中关于能够仅为类的特定实例实现方法的内容,但我不记得语法是什么,或者这是否是一回事。

4

1 回答 1

1

如果您想为该视图执行某些操作,那么最好将其设置为子类并覆盖该视图。

如果您希望它发生在所有视图上,那么您将需要方法 swizzle 将 layoutSubviews 更改为您指定的另一个方法,并将该类别包含在 _prefix.pch 文件中

Method Swizzling 不能掉以轻心,但你可以在这里查看我的解释

我推荐第一个选项。子类化和覆盖。只记得调用[super layoutSubviews]方法完成链。(除非意图阻止该链)

于 2012-06-22T22:56:08.643 回答