我创建一个按钮会出现问题,该按钮会根据作为标题的文本的长度垂直增长。我看过similar problem,但这种解决方案在这种情况下不起作用。当我设定时:

 label.numberOfLines = 0

那么就可以显示多行文字,但这不会影响按钮本身的高度。有谁遇到过这个问题,并找到了不错的通用解决方案。我希望避免对按钮的固有大小等值进行硬编码。

最佳答案

我自己遇到这个问题,并通过在按钮上添加了高度限制并覆盖了updateViewConstraints来解决了这个问题。有点hacky。

- (void)updateViewConstraints
{
    self.myButtonHeightConstraint.constant = self.myButton.titleLabel.frame.size.height;
    [super updateViewConstraints];
}

我还向Apple提出了一个错误,该错误涉及UIButton的大小无法适应其UIButtonLabel。

2017版代码:
override func updateConstraints() {

    let h = titleLabel!.frame.size.height
    self.heightAnchor.constraint(equalToConstant: h).isActive = true
    super.updateConstraints()
}

关于ios - UIButton不会根据内部文本的长度垂直增长,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27565858/

10-10 20:16