基于文本的自动布局调整大小按钮,并使用文本框填充可用空间

问题描述 投票:7回答:2

我正在使用自动布局的ios应用程序,

我在水平方向旁边有一个UITextField和一个UIButton。

UIButton文本是动态更改的。它可以很短(3个字母)或很长(15个字母)

我需要添加约束以实现以下目标:

1)当我更改UIbutton文本时,我需要调整按钮的大小以适合新文本

2)UITextField应该调整大小以占据按钮文本更改后剩余的可用空间

我尝试执行以下操作(如图所示):

  • 将UITextView的前导约束添加到超级视图20

  • [将UIButton的尾随约束添加到超级视图20

  • 在它们之间添加了固定距离10

“在此处输入图像描述”

但是现在我仍然停留在如何使用文本和文本字段调整UIButton的大小以采用可用的大小。

感谢您的任何帮助

谢谢

ios iphone objective-c autolayout
2个回答
21
投票

尝试这些自动布局约束:

“


基本:

  1. [UITextField对象的宽度约束应为Less Than or Equal关系
  2. [UIButton对象的宽度约束应为Greater Than or Equal关系
  3. [UITextField对象的水平Content Hugging Priority应为249(根据上面显示的我的约束设置)]

以及相关代码为:

[buttonObject setTitle:@"Button title is too... zzz" forState:UIControlStateNormal];
[buttonObject sizeToFit];

...或类似内容


0
投票

增加button horizontal content hugging priority,使其高于相邻组件的horizontal content hugging priority

© www.soinside.com 2019 - 2024. All rights reserved.