2013-06-27 2 views
0

У меня есть следующий код: (. Не возможно сделать в IB)Новое в автоматической компоновке - почему мой взгляд не появляется?

 UITextField *loginBox = [[UITextField alloc] init]; 
     loginBox.translatesAutoresizingMaskIntoConstraints = NO; 

     [self.view addSubview:loginBox]; 

     NSLayoutConstraint *horizontalPlacementConstraint = [NSLayoutConstraint constraintWithItem:loginBox attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeading multiplier:1.0 constant:0.0]; 
     [self.view addConstraint:horizontalPlacementConstraint]; 

     NSLayoutConstraint *verticalPlacementConstraint = [NSLayoutConstraint constraintWithItem:loginBox attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.0]; 
     [self.view addConstraint:verticalPlacementConstraint]; 

     NSLayoutConstraint *widthConstraint = [NSLayoutConstraint constraintWithItem:loginBox attribute:NSLayoutAttributeWidth relatedBy:0 toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:100]; 
     [self.view addConstraint:widthConstraint]; 

Но когда я загружаю вид, он никогда не показывает текстовое поле. Почему это?

ответ

1

Ваш UITextField определенно размещен на 0, 0. Вы, вероятно, просто не можете его увидеть. Установите borderStyle или что-то подобное:

loginBox.borderStyle = UITextBorderStyleRoundedRect; 
0

Он не имеет высоту.

Это было бы первым, что я бы изменил.

Установите ограничение на высоту тоже.