我有一个UIScrollView
的视图控制器。在滚动视图中,我有两个UIViews
。 viewA
位于viewB
之上。我在这个项目中使用Xcode 5和自动布局。我想做的是隐藏viewA,将viewB移动到viewA所在的顶部(技术上,仍然坐着,只是隐藏)。
我看了这个答案:How to use auto-layout to move other views when a view is hidden?
然而它并没有真正帮助我。我将一个常量的IBOutlet连接到滚动视图顶部的垂直间距,并在隐藏viewA时将其设置为0.0f。但是它根本不会改变我的UI。
答案 0 :(得分:2)
首先获取两个子视图的SuperView NSlayoutConstraints Outlets的Top Space,然后执行以下操作: -
[self.aView setHidden:YES];
if([self.aView isHidden])
{
self.bViewTopConstraint.constant = self.aViewTopConstraint.constant;
}
使用这个第二个UiView将转到第一个UIView的位置。
对于Scrollview,您必须正确设置约束值。无需设置任何内容。一旦你设置了constriants scrollview将自动工作。 查看附带的屏幕截图。