Con*_*nor 42 objective-c ios autolayout
我想设置一个约束,以编程方式为UIButton提供固定(常量)宽度.我知道我可以使用constraintsWithVisualFormat来做到这一点,但我一直在使用constraintWithItem来处理代码中的所有约束.如果有任何方法可以使用constraintWithItem,我想知道好奇/一致性.
Con*_*nor 120
找到了解决方案.只需将另一个对象设置为nil,将另一个属性设置为NSLayoutAttributeNotAnAttribute(这是我没想到的)并使用常量参数作为固定宽度:
[self addConstraint:[NSLayoutConstraint constraintWithItem:myButton
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:200]];
Run Code Online (Sandbox Code Playgroud)
编辑:因为这个答案似乎仍然得到了相当多的观点,我想我会添加Swift语法:
self.addConstraint(NSLayoutConstraint(
item: myButton,
attribute: .width,
relatedBy: .equal,
toItem: nil,
attribute: .notAnAttribute,
multiplier: 1.0,
constant: 200))
Run Code Online (Sandbox Code Playgroud)
Luk*_*eau 17
如何使用布局锚点?
myView.widthAnchor.constraintEqualToConstant(29).isActive = true
Run Code Online (Sandbox Code Playgroud)
Edu*_*ias 11
在快速:
let width = 120
let constraint = NSLayoutConstraint(
item: myView,
attribute: .width,
relatedBy: .equal,
toItem: nil,
attribute: .notAnAttribute,
multiplier: 1.0,
constant: width)
NSLayoutConstraint.activateConstraints([constraint])
Run Code Online (Sandbox Code Playgroud)
然后,您可以更改约束的常量值
constraint.constant = width * 2
Run Code Online (Sandbox Code Playgroud)
小智 5
这是固定宽度按钮的简单代码。
视觉格式:
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H: [myButton(==50)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(myButton)]];
Run Code Online (Sandbox Code Playgroud)
将此代码用于使用视觉格式的约束,其中self.view是按钮的超级视图,myButton是按钮的名称,50是myButton的宽度。您可以根据所需约束来更改这些值。
ConstraintWithItem格式:-
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:myButton attribute: NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute: NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:50.0]];
Run Code Online (Sandbox Code Playgroud)
将此代码用于使用constraintWithItem格式的约束,其中self.view是按钮的超级视图,myButton是按钮的名称,50是myButton的宽度。您可以根据所需约束来更改这些值。
| 归档时间: |
|
| 查看次数: |
43022 次 |
| 最近记录: |