添加子视图时自动调整视图

时间:2013-12-31 22:47:16

标签: ios autolayout

我正在使用iOS 7和自动布局开发应用程序。我正在为UIView添加一个简单的文本字段。但是观点没有调整大小。我甚至试图手动更改框架,但它不起作用。我相信这是因为我正在使用自动布局。这是我的代码:

-(void) setupViewForSignUp
{
    UITextField *firstNameTextField = [[UITextField alloc] initWithFrame:CGRectMake(self.passwordTextField.frame.origin.x, self.passwordTextField.frame.origin.y + 40, self.passwordTextField.bounds.size.width, self.passwordTextField.bounds.size.height)];
    firstNameTextField.placeholder = @"First Name";
    firstNameTextField.layer.borderWidth = 0.3;
    firstNameTextField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
    firstNameTextField.leftViewMode = UITextFieldViewModeAlways;

    [self.signUpLoginContainerView addSubview:firstNameTextField];

    self.signUpLoginContainerView.autoresizingMask = UIViewAutoresizingFlexibleHeight;

}

结果如下:

enter image description here

1 个答案:

答案 0 :(得分:0)

是的,这是因为您正在使用自动布局。设置视图框和调整大小蒙版将不起作用。

您应该阅读Working with Auto Layout ProgrammaticallyVisual Format Language

您需要获取当前约束,添加文本字段,调整文本字段的约束,然后在文本字段中添加正确的约束。