当用户点击屏幕时,我使用下面的代码将图像标题展开为它的完整大小。这在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];
}];
}
答案 0 :(得分:0)
实际上在发布问题后想出了几分钟后的情况。我在viewDidLayoutSubViews中重新设置了约束,由于某些原因,在iOS 8中没有再次调用约束更改,但在iOS 7中调用约束。