0

我有以下代码:

        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 中不可能。)

但是当我加载视图时,它从不显示文本字段。为什么是这样?

4

2 回答 2

1

UITextField肯定在那里并正确放置在0, 0. 你可能只是看不到它。设置您的borderStyle或类似的东西:

loginBox.borderStyle = UITextBorderStyleRoundedRect;
于 2013-06-27T00:54:16.917 回答
0

它没有高度。

那将是我要改变的第一件事。

也安装一个高度约束。

于 2013-08-21T05:30:38.380 回答