如何根据标题标签文本更改增加/减少UIButton宽度?
问题描述:
我问过的问题纯粹是使用自动布局,我不想根据文本宽度手动设置帧。如何根据标题标签文本更改增加/减少UIButton宽度?
我知道的变化内容拥抱优先,我已经使用了相同的一个标签和一个按钮,它工作正常标签而不是按钮,任何人都可以帮助
答
如果你想做到这一点,你可以创建自定义视图:采取 - UIView
并将其级别更改为UIButton
并添加UILabel
并应用所有必需的约束。 有了这一切设置,你可以实现愿望的用户界面。 请试试这个如果你想实现这样的。
答
如果你想根据标签文本改变按钮的宽度,
1.dont固定标签宽度
2.Now,在标签宽度即equalwidths取决于按钮的宽度。
答
按钮已经将它的“内在内容宽度”,以适应其标题。
如果没有其他约束覆盖内在内容宽度,则该按钮将是该内在宽度,这正是您想要的。演示:
这是我的故事板轮廓:
我设置为“左”(而不是“填充”)水平叠层视图的对齐所以它不会拉伸第一行以填充屏幕宽度。
如果您的按钮的内在宽度为而不是,那么您有更高优先级(可能优先级为1000)的约束将其强制为其他宽度。
您可以尝试强制它始终保持其内容宽度,方法是将内容拥抱优先级和其内容压缩优先级设置为1000。
如果您将两个优先级都设置为1000,并且您有任何其他必需的约束可阻止该按钮成为其固有大小,那么您将在运行时的调试日志中收到错误消息,告诉您存在冲突(不可满足的)约束。这些消息将包含完整的约束条件,因此您可以尝试追踪您不想要的约束条件。
感谢@rob,我有一些问题: 限制你到按钮给出什么?有没有依赖堆栈视图? –
我没有对按钮设置任何约束。顶层(垂直)堆叠视图具有约束到上海华的顶部,导致,和后缘。文档大纲显示了我创建的每个约束。 –
如果我不想使用堆栈视图,该怎么办? –