我有以下代码:
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];
(在IB中无法做到。)
但是当我加载视图时,它从不显示文本字段。为什么是这样?
答案 0 :(得分:1)
您的UITextField
肯定在那里并正确放置在0, 0
。
你可能只是看不到它。设置borderStyle
或类似内容:
loginBox.borderStyle = UITextBorderStyleRoundedRect;
答案 1 :(得分:0)
它没有高度。
这将是我要改变的第一件事。
也安装高度限制。