相关疑难解决方法(0)

iOS Autolayout垂直等于空格以填充父视图

我有一个12 UITextField秒的视图控制器.

它非常适合3.5"显示屏.

在此输入图像描述

我需要将其设置为iPhone 5(4英寸显示屏),以便通过在两者之间增加额外空间来UITextField覆盖整体UIView.

我试图通过自动布局来做到这一点,但它无法正常工作.

在此输入图像描述

这是我的代码:

- (void) viewWillLayoutSubviews
{
    int h = txt1.bounds.size.height * 12;

    float unusedHorizontalSpace = self.view.bounds.size.height - h ;

    NSNumber* spaceBetweenEachButton=  [NSNumber numberWithFloat: unusedHorizontalSpace / 13 ] ;

    NSMutableArray *constraintsForButtons = [[NSMutableArray alloc] init];

    [constraintsForButtons addObjectsFromArray: [NSLayoutConstraint constraintsWithVisualFormat: @"V:|-50-[txt1(==30)]-(space)-[txt2(==txt1)]-(space)-[txt3(==txt1)]-(space)-[txt4(==txt1)]-(space)-[txt5(==txt1)]-(space)-[txt6(==txt1)]-(space)-[txt7(==txt1)]-(space)-[txt8(==txt1)]-(space)-[txt9(==txt1)]-(space)-[txt10(==txt1)]-(space)-[txt11(==txt1)]-(space)-[txt12]-(space)-|"
                                                                                        options: NSLayoutFormatAlignAllCenterX
                                                                                        metrics: @{@"space":spaceBetweenEachButton}
                                                                                          views: NSDictionaryOfVariableBindings(txt1,txt10,txt11,txt12,txt2,txt3,txt4,txt5,txt6, txt7,txt8,txt9)]];

    [self.view addConstraints:constraintsForButtons];
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做,[txt12(==txt1)]它显示与3.5"屏幕相同,并在下面留下空间.

我在哪里弄错了?

ios autolayout

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

autolayout ×1

ios ×1