2014-02-06 3 views
0

Может ли кто-нибудь помочь мне преобразовать этот код в автоматическую компоновку в виде визуального формата? Я пробовал несколько способов, но я не могу этого сделать ... Спасибо!Преобразование в визуальный формат авто-макета

// Constraints 
horizontal = [NSLayoutConstraint constraintWithItem:loginView.view 
              attribute:NSLayoutAttributeWidth 
              relatedBy:NSLayoutRelationEqual 
              toItem:nil 
              attribute:NSLayoutAttributeNotAnAttribute 
             multiplier:1.0 
              constant:CGRectGetWidth(loginView.view.frame)]; 

vertical = [NSLayoutConstraint constraintWithItem:loginView.view 
             attribute:NSLayoutAttributeHeight 
             relatedBy:NSLayoutRelationEqual 
              toItem:nil 
             attribute:NSLayoutAttributeNotAnAttribute 
             multiplier:1.0 
             constant:CGRectGetHeight(loginView.view.frame)]; 

centerX = [NSLayoutConstraint constraintWithItem:loginView.view 
             attribute:NSLayoutAttributeCenterX 
             relatedBy:NSLayoutRelationEqual 
              toItem:self.view 
             attribute:NSLayoutAttributeCenterX 
             multiplier:1.0 
             constant:0.0]; 

centerY = [NSLayoutConstraint constraintWithItem:loginView.view 
             attribute:NSLayoutAttributeCenterY 
             relatedBy:NSLayoutRelationEqual 
              toItem:self.view 
             attribute:NSLayoutAttributeCenterY 
             multiplier:1.0 
             constant:0.0]; 

[self.view addConstraints:@[horizontal, vertical, centerX, centerY]]; 

ответ

0

Наконец-то!

// Variables 
NSDictionary *views = @{ 
         @"view" : self.view, 
         @"superview" : self.view.superview, 
         }; 
NSDictionary *metrics = @{ 
          @"width" : @(CGRectGetWidth(self.view.frame)), 
          @"height" : @(CGRectGetHeight(self.view.frame)) 
          }; 

// Constraints 
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:[superview]-(<=1)-[view(width)]" 
                   options:NSLayoutFormatAlignAllCenterY 
                   metrics:metrics 
                   views:views]; 
[self.view.superview addConstraints:constraints]; 

constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[superview]-(<=1)-[view(height)]" 
                 options:NSLayoutFormatAlignAllCenterX 
                 metrics:metrics 
                 views:views]; 
[self.view.superview addConstraints:constraints]; 
Смежные вопросы