taf*_*rel 7 objective-c ios nslayoutconstraint nsautolayout swift
有没有办法用NSLayoutConstraints设置UIView的宽度和高度?例如,我有以下约束设置
subView.setTranslatesAutoresizingMaskIntoConstraints(false);
let cons:NSArray = NSLayoutConstraint.constraintsWithVisualFormat("[subView(99)]", options:nil, metrics: nil, views: ["subView":subView]);
self.view.addConstraints(cons);
Run Code Online (Sandbox Code Playgroud)
这只设置宽度,如何添加高度?
Ami*_*mit 12
两种可能的选择:
[view setTranslatesAutoresizingMaskIntoConstraints:NO];
NSArray* vConstraints = [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view(25)]|" options:0 metrics:nil views:view]];
[parentView addConstraints:vConstraints];
Run Code Online (Sandbox Code Playgroud)
要么
NSLayoutConstraint* vConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:25];
[parentView addConstraint:vConstraint];
Run Code Online (Sandbox Code Playgroud)
对于垂直布局,只需将V:添加到VFL字符串的开头:
subView.setTranslatesAutoresizingMaskIntoConstraints(false);
let horizontalCons:NSArray = NSLayoutConstraint.constraintsWithVisualFormat("[subView(99)]", options:nil, metrics: nil, views: ["subView":subView]);
let veritcleCons:NSArray = NSLayoutConstraint.constraintsWithVisualFormat("V:[subView(50)]", options:nil, metrics: nil, views: ["subView":subView]);
self.view.addConstraints(horizontalCons);
self.view.addConstraints(veritcleCons);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7625 次 |
| 最近记录: |