覆盖UILabel的布局以添加带有手势处理的子视图

时间:2017-06-22 16:03:47

标签: ios cocoa-touch uilabel

我需要扩展UILabel以便我可以点击它的一部分。为此,我需要对其进行子类化并添加带有tap处理程序的透明UIView。问题是,由于我事先不知道可点击区域的位置,每次重新调整/更改/布置文本时,我需要重新调整UIView个位置,甚至可能重新调整它们的数量。 /等等。适当的方法是什么?

1 个答案:

答案 0 :(得分:2)

每当您的标签需要布局时,都会调用layoutSubviews。在调用super.layoutSubviews()后,覆盖该内容并对子视图进行调整。

override layoutSubviews() {
    super.layoutSubviews()
    // Do additional work that needs to happen each time view layout happens
    ....
}