sizeToFit UIButton以编程方式添加到UIStackView时

时间:2016-04-04 14:16:25

标签: ios swift uibutton uistackview

经过多次搜索,我开始放弃了

我有一个iOS应用程序(swift),它会向用户询问一系列问题和答案。问题和答案从JSON文件下载。每页总会有1个问题,但答案数量不一。所以答案是将UIButtons添加到在xib中创建的UIStackView中。这是一个小问题。

如果我创建一个超过1行的答案(即它有一个换行符),它将在UIButton.titleLabel中创建一个新行并展开UIButton以适应。但是,如果答案很长并超过1行,则UIButton不会扩展。我正确地为标签包装启用了换行,但是按钮似乎没有在UIStackView中实现它的宽度约束,因此假设它可以显示1行长文本并相应地创建它的高度 - 即使我称之为永远可靠sizeToFit()!

我假设有一个简单的设置,例如“contentWidth”我缺少。

P.S。我不想计算尺寸并手动设置按钮的高度。我希望它也适用于旋转,当然也会调整宽度

1 个答案:

答案 0 :(得分:0)

好吧,我从来没有找到一个修复程序,让Button正确调整其自己的UILabel大小,似乎它经常看到文本能够适合一行并工作。

我通过用UILabel替换我的UIButton来解决问题。然后UILabel有addGestureRecognizer(UITapGestureRecognizer()),当然还有userInteractionEnabled = true

这不是我希望它的方式,但会让我的客户满意,直到下次更新UIStackView!