2014-07-09 15 views
5

Có cách nào để đặt chiều rộng và chiều cao UIView với NSLayoutConstraints không? ví dụ tôi có thiết lập ràng buộc sau đâyNgôn ngữ định dạng hình ảnh, giới hạn chiều rộng nút và chiều cao

subView.setTranslatesAutoresizingMaskIntoConstraints(false); 
     let cons:NSArray = NSLayoutConstraint.constraintsWithVisualFormat("[subView(99)]", options:nil, metrics: nil, views: ["subView":subView]); 
     self.view.addConstraints(cons); 

chỉ thiết lập chiều rộng này, cách thêm chiều cao?

Trả lời

11

Hai tùy chọn có thể:

[view setTranslatesAutoresizingMaskIntoConstraints:NO]; 
NSArray* vConstraints = [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view(25)]|" options:0 metrics:nil views:view]]; 
[parentView addConstraints:vConstraints]; 

hoặc

NSLayoutConstraint* vConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:25]; 
[parentView addConstraint:vConstraint]; 
5

Đối với bố trí theo chiều dọc, chỉ cần thêm V: khi bắt đầu của chuỗi 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); 
Các vấn đề liên quan