0

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

我正在使用具有多个视图的自适应布局开发 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];
4

1 回答 1

0

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

- (void) keyboardWillShow:(NSNotification *) notification
{
    [UIView animateWithDuration:0.3 animations:^
    {
        _viewTopLayoutConstraint.constant = -100;
        [self.view layoutIfNeeded];
    }];
}
于 2015-02-10T07:12:50.830 回答