Ios 如何使用NSLayoutConstraint限制UIButton高度

Ios 如何使用NSLayoutConstraint限制UIButton高度,ios,objective-c,uibutton,nslayoutconstraint,Ios,Objective C,Uibutton,Nslayoutconstraint,我有UItoolbar,其中添加了两项1UITextView和2ui按钮。 UITextview的属性是根据输入的文本进行自动签名。 当UITextview高度增加时,我想限制UIButton高度,即UIButton高度不应增加 [_toolbar setItems:[NSArray arrayWithObjects:barButtonItemCommentText,barButtonItemSubmit,nil]]; submitBtn.translatesAutoresizingMaskIn

我有
UItoolbar
,其中添加了两项1<代码>UITextView和2<代码>ui按钮。
UITextview
的属性是根据输入的文本进行自动签名。 当
UITextview
高度增加时,我想限制
UIButton
高度,即
UIButton
高度不应增加

[_toolbar setItems:[NSArray arrayWithObjects:barButtonItemCommentText,barButtonItemSubmit,nil]];
submitBtn.translatesAutoresizingMaskIntoConstraints = NO;
textView.translatesAutoresizingMaskIntoConstraints = NO;
_toolbar.translatesAutoresizingMaskIntoConstraints = NO;

[_toolbar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-8-[textView]-79-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(textView)]];

 [_toolbar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-8-[textView]-8-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(textView)]];

[_toolbar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[submitBtn]-8-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(submitBtn)]];


[_toolbar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-8-[submitBtn]-8-|" options:NSLayoutFormatAlignAllBaseline metrics:nil views:NSDictionaryOfVariableBindings(submitBtn)]];

[_toolbar addConstraint:[NSLayoutConstraint constraintWithItem:submitBtn
                                                 attribute:NSLayoutAttributeWidth
                                                 relatedBy:NSLayoutRelationEqual
                                                    toItem:nil
                                                 attribute:NSLayoutAttributeNotAnAttribute 
                                                multiplier:1.0 
                                                  constant:60]];
[textView setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
[textView setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];

[_toolbar setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];


[_toolbar addConstraint:[NSLayoutConstraint constraintWithItem:_toolbar attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationLessThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:MaxToolbarHeight]];
有关参考信息,请参见随附的屏幕截图:


下面提到的约束使它在垂直方向上拉伸,因为它要求从顶部和底部始终为8像素

[_toolbar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-8-[submitBtn]-8-|" options:NSLayoutFormatAlignAllBaseline metrics:nil views:NSDictionaryOfVariableBindings(submitBtn)]];
如果将其更改为“恒定高度”,则它将不会垂直增长,在这种情况下,高度始终为24

[_toolbar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[submitBtn(24)]-8-|" options:NSLayoutFormatAlignAllBaseline metrics:nil views:NSDictionaryOfVariableBindings(submitBtn)]];

可能会更改此行
[\u工具栏添加约束:[NSLayoutConstraint Constraints With VisualFormat:@“V:|-8-[submitBtn]-8-|”选项:NSLayoutFormatAlignAllBaseline度量:无视图:NSDictionaryOfVariableBindings(submitBtn)]
对此
[\u工具栏添加约束:[NSLayoutConstraint Constraints With VisualFormat:@“V:|->=8-[submitBtn]-8-|”选项:NSLayoutFormatAlignAllBaseline度量:无视图:NSDictionaryOfVariableBindings(submitBtn)]非常感谢@Dima,你让我开心。:)我发现我的问题评论中的答案和你的答案都是完美的。谢谢甘道夫和迪玛。