Я знаю, что делает вид имеет следующие 3 шага в следующем порядке:Как обновить ограничение после просмотра подклассов?
- обновление ограничений
- просмотров макета (здесь, где мы получаем расчет кадров)
- дисплей
Теперь, когда я изменяю пользовательские высоты кнопок, и эта кнопка имеет ограничение с окружающими представлениями, как я могу обновить эти ограничения и избежать совпадения с представлениями? Вы можете видеть прокомментированную строку, а не из них.
class DynamicHeightButton: UIButton {
override func layoutSubviews() {
super.layoutSubviews()
let size = (self.titleForState(UIControlState.Normal)! as NSString).boundingRectWithSize(CGSizeMake(self.bounds.size.width, CGFloat.max), options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName : UIFont.systemFontOfSize(17)], context: nil)
self.bounds.size.height = size.height + 8
//viewController!.view.setNeedsUpdateConstraints()
//self.setNeedsUpdateConstraints()
//self.setNeedsLayout()
}
}