Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 基于文本自动布局调整按钮大小,并让文本字段填充可用空间_Ios_Iphone_Objective C_Autolayout - Fatal编程技术网

Ios 基于文本自动布局调整按钮大小,并让文本字段填充可用空间

Ios 基于文本自动布局调整按钮大小,并让文本字段填充可用空间,ios,iphone,objective-c,autolayout,Ios,Iphone,Objective C,Autolayout,我正在使用autolayout开发ios应用程序 我有一个UIExtField和一个UIButton在它旁边 UIButton文本将动态更改。它可以很短(3个字母)也可以很长(15个字母) 我需要添加约束以实现以下目标: 1) 当我更改UIbutton文本时,我需要调整按钮大小以适应新文本 2) UITextField应调整大小,以占用按钮文本更改后剩余的可用空间 我试着做以下事情(如图所示): 将UITextView的前导约束添加到superview 20 将UIButton的尾部约束添加到

我正在使用autolayout开发ios应用程序

我有一个UIExtField和一个UIButton在它旁边

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

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

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

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

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

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

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

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

但现在我一直在研究如何使UIButton根据文本和文本字段调整大小,以获得可用的大小

谢谢你的帮助


谢谢

尝试以下自动布局约束:


基本上:
  • UITextField
    对象的宽度约束应为
    小于或等于
    关系
  • ui按钮
    对象的宽度约束应为大于或等于关系
  • UITextField
    对象的水平
    内容优先权
    应为249(根据上面显示的我的约束设置)
  • 及相关代码如下:

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


    …或者沿着这些线增加
    按钮水平内容拥抱优先级
    ,使其高于相邻组件的
    水平内容拥抱优先级

    我认为“sizeToFit”是这里的关键。