屏幕上的约束更改点击

时间:2014-11-01 00:52:36

标签: ios autolayout

当用户点击屏幕时,我使用下面的代码将图像标题展开为它的完整大小。这在iOS 8中完美地运行。但是,它在iOS 7中根本不起作用。即,更改约束不起作用。但是,在viewDidLayoutSubviews中更改相同的约束(在初始加载时)也可以在iOS 7中正常工作。这可能发生什么?任何帮助将非常感激。 contentView连接到视图控制器的顶级视图。

-(IBAction) tapScreen:(id)sender {
    if (!expanded)
    {
        if ([self.topSize constant] < correctImageViewHeight+self.topLayoutGuide.length)
        [self.topSize setConstant:correctImageViewHeight+self.topLayoutGuide.length];
        expanded = YES;

    }
    else
        {
        [self.topSize setConstant:self.view.bounds.size.height/2.0f];
            expanded = NO;
        }
    [UIView animateWithDuration:0.4
                     animations:^{
                         [self.contentView layoutIfNeeded];
                     }];

}

1 个答案:

答案 0 :(得分:0)

实际上在发布问题后想出了几分钟后的情况。我在viewDidLayoutSubViews中重新设置了约束,由于某些原因,在iOS 8中没有再次调用约束更改,但在iOS 7中调用约束。