Autolayout基于文本调整大小按钮,并具有文本字段填充可用空间

You*_*sef 6 iphone objective-c ios autolayout

我正在使用autolayout处理ios应用程序,

我在水平旁边有一个UITextField和一个UIButton.

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

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

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

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

我试着做以下事情(如图所示):

  • 将UITextView的前导约束添加到superview 20

  • 将UIButton的尾随约束添加到superview 20

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

在此输入图像描述

但现在我仍然坚持如何使用文本和文本字段调整UIButton大小以获取可用的大小.

任何帮助表示赞赏

谢谢

sta*_*Man 21

尝试这些自动布局约束:

23226220_Autolayout_Constraints


基本上:

  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];
Run Code Online (Sandbox Code Playgroud)

......或者沿着这些方向的东西