【发布时间】:2017-06-22 16:03:47
【问题描述】:
我需要扩展 UILabel 以便我可以使其部分可点击。为此,我需要对它进行子类化,并使用点击处理程序添加透明的UIViews。问题是,因为我事先不知道可点击区域在哪里,所以每次调整文本大小/更改/布局/等时,我都需要重新调整那些UIViews 的位置,甚至可能是它们的数量.什么是合适的方法?
【问题讨论】:
标签: ios cocoa-touch uilabel
我需要扩展 UILabel 以便我可以使其部分可点击。为此,我需要对它进行子类化,并使用点击处理程序添加透明的UIViews。问题是,因为我事先不知道可点击区域在哪里,所以每次调整文本大小/更改/布局/等时,我都需要重新调整那些UIViews 的位置,甚至可能是它们的数量.什么是合适的方法?
【问题讨论】:
标签: ios cocoa-touch uilabel
当您的标签需要布局时,layoutSubviews 将被调用。在调用super.layoutSubviews() 后覆盖它并调整您的子视图。
override layoutSubviews() {
super.layoutSubviews()
// Do additional work that needs to happen each time view layout happens
....
}
【讨论】: