2014-07-09 17 views
5

Czy istnieje sposób ustawiania szerokości i wysokości UIView z NSLayoutConstraints? na przykład mam następującą konfigurację wiązaniaJęzyk formatowania, ograniczenie szerokości i wysokości przycisku

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

ten określa jedynie szerokość, jak dodać również wysokość?

Odpowiedz

11

dwie możliwe opcje:

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

lub

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

Na pionowych układów, wystarczy dodać V: na początku łańcucha 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); 
Powiązane problemy