我们如何使用自动布局以编程方式在text-fileds之间提供垂直空间(constraintsWithVisualFormat)

时间:2015-07-23 04:55:30

标签: ios swift autolayout

我是iOS的初学者,在我的项目中,我使用自动布局(UIView)以编程方式在constraintsWithVisualFormat上添加了一些文本字段,但两个文本字段之间的空间没有修复。

根据我的代码,我得到的结果像第二个屏幕截图,但我想得到像第一个屏幕的结果。请帮我解决这个问题。我想在两个文本字段之间设置垂直空间,例如" 50")

这是我的代码: -

    textFiedl1 = [[UITextField alloc]init];
    textFiedl1.backgroundColor = [UIColor blueColor];
    textFiedl1.translatesAutoresizingMaskIntoConstraints = NO;
    [myView addSubview:textFiedl1];

    textField2 = [[UITextField alloc]init];
    textField2.backgroundColor = [UIColor blueColor];
    textField2.translatesAutoresizingMaskIntoConstraints = NO;
    [myView addSubview:textField2];

    NSDictionary *views = NSDictionaryOfVariableBindings(textFiedl1,textField2);


    NSArray * textFieldConstraint1H = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[textFiedl1]-10-|"
                                                                             options:0
                                                                             metrics:nil
                                                                               views:views];

    NSArray * textFieldConstraint2H = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[textField2]-10-|"
                                                                              options:0
                                                                              metrics:nil
                                                                                views:views];


NSArray * textFieldConstraintV = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[textFiedl1(30)]-50-[textField2(30)]-|"
                                                                              options:0
                                                                              metrics:nil
                                                                                views:views];

但我希望得到如下屏幕截图的结果请帮助我一些我会感激你。 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

删除最后一个NSArray * textFieldConstraintV = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[textFiedl1(30)]-50-[textField2(30)]" options:0 metrics:nil views:views]; ,这意味着第二个文本字段应该靠近superview的底部。

{{1}}