【发布时间】:2016-04-04 14:16:24
【问题描述】:
经过多次搜索,我开始放弃
我有一个 iOS 应用 (swift),它会询问用户一系列问题和答案。问题和答案是从 JSON 文件下载的。每页总是会有 1 个问题,但答案的数量会有所不同。所以答案是将 UIButtons 添加到在 xib 中创建的 UIStackView 中。这是一个小问题。
如果我创建的答案超过 1 行(即其中有换行符),它将在 UIButton.titleLabel 中创建一个新行并展开 UIButton 以适应。但是,如果答案很长并且超过 1 行,则 UIButton 不会展开。我为标签正确换行启用了换行,但是该按钮似乎没有意识到它在 UIStackView 中的宽度限制,因此假设它可以显示 1 长行文本并相应地创建它的高度 - 即使我打电话给曾经值得信赖sizeToFit()!!!
我假设我缺少一个简单的设置,例如“contentWidth”。
附:我宁愿不计算大小并手动设置按钮的高度。我希望它也可以与旋转一起使用,这当然会调整宽度
【问题讨论】:
-
preferredMaxLayoutWidth可以解决您的问题。 -
感谢@dasdom 并没有解决它。更有趣的是,
preferredMaxLayoutWidth实际上完全被忽略了(即使被设置为像 5 这样的常量。)在我的 StackView 上设置“基线相对”使preferredMaxLayoutWidth被注意到,但是并没有对改变我的身高做任何事情。将继续寻找答案! -
对这个问题有什么新见解吗?
标签: ios swift uibutton uistackview