【问题标题】:how to set adaptive layout at run time?如何在运行时设置自适应布局?
【发布时间】:2015-04-08 21:31:49
【问题描述】:

如何在运行时设置自适应布局?

我正在使用具有多个视图的自适应布局开发 iOS 应用程序。我想在键盘弹出时更改视图位置。

我使用下面的自动布局编码它不起作用。

NSArray *constraint_POS_V = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-vSpacing-[redView]-vSpacing-|"                                                                        options:NSLayoutFormatDirectionLeadingToTrailing
                                                                    metrics:metrics
                                                                      views:viewsDictionary];
NSArray *constraint_POS_H = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-hSpacing-[redView]-hSpacing-|"
                                                                    options:NSLayoutFormatDirectionLeadingToTrailing
                                                                    metrics:metrics
                                                                      views:viewsDictionary];
[self.view addConstraints:constraint_POS_V];
[self.view addConstraints:constraint_POS_H];

【问题讨论】:

    标签: ios objective-c adaptive-design


    【解决方案1】:

    您必须在运行时为约束设置常量值。为视图获取顶部布局约束 (viewTopLayoutConstraint) 的出口。

    - (void) keyboardWillShow:(NSNotification *) notification
    {
        [UIView animateWithDuration:0.3 animations:^
        {
            _viewTopLayoutConstraint.constant = -100;
            [self.view layoutIfNeeded];
        }];
    }
    

    【讨论】:

    • 看不懂,请提供完整代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多