【问题标题】:Adjusting the width of a UIButton depending on its title根据标题调整 UIButton 的宽度
【发布时间】:2017-11-19 18:56:36
【问题描述】:

我很难解决这个问题。我有以下情况。在我的故事板中,我有一个表格视图,在表格视图单元格中,我有一个 UIButton 和另一个 UIButton 旁边。第一个按钮有文本,第二个按钮有星形图像。我想要以下内容:

  1. 我想让第一个按钮根据其文本/标题调整其宽度。

  2. 我希望第二个按钮的位置沿第一个按钮的尾随空间移动

我用 sizetofit() 尝试了多个建议,但似乎无法正确处理

【问题讨论】:

  • A u t o l a y o u t.
  • 你能详细说明一下吗?因为我也见过 cmets,但我没有完全理解
  • 请观看有关自动布局的 WWDC 视频。他们信息量很大

标签: ios dynamic uibutton sizetofit


【解决方案1】:

使用自动布局,您不必担心自己调整按钮的大小。这是一个快速的布局来说明:

我添加了一个文本按钮和一个模拟星星的小圆形按钮。在 Xcode 的界面构建器中,我给出了第一个按钮约束:

  • 固定高度
  • 固定视图左侧的空间
  • 固定视图顶部的空间

然后我的第二个圆形按钮得到以下约束:

  • 固定宽度和高度
  • 修复了文本按钮的水平间距
  • 以文本按钮居中垂直对齐

现在,当我在代码中为按钮设置长标题时,您会看到它们以您描述的方式相互跟随:

【讨论】:

  • 感谢您的回复!我还是有问题。当我给按钮说约束时,第一个按钮中的文本被压缩,所以你看到的不是“约束”,而是“co..aint”
  • 这并不总是有效。您还需要更改内容拥抱优先级和内容压缩优先级。 Hugging 将控制控件拥抱其内容的紧密程度(设置为低以使其扩展或设置为高以使其拥抱)。对于压缩,它定义了控件在压力下的压缩方式(设置为低以便它容易压缩或设置为高所以它永远不会压缩)..在你的情况下,你想要拥抱低和压缩高..或者拥抱默认和压缩高:stackoverflow.com/a/23203345/1462718
  • 我让它工作了!谢谢你!我可能第一次做错了什么
  • @Brandon 你是对的,也是错的。我按照 Terje 的解决方案让它工作,但只有当我删除当前按钮并将它们替换为新按钮时。在删除之前,我尝试使用拥抱和压缩,但它对我不起作用,但可能是因为限制
  • @Terje 当您使用标题插图时,您的解决方案不起作用。有没有办法让它与插图一起工作?
猜你喜欢
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多