具有自动布局的Scrollview无法调整scrollview的高度

时间:2014-12-25 04:25:56

标签: ios objective-c uiscrollview storyboard nsautolayout

我正在开发小型IOS应用程序,其中我使用带有自动布局的scrollview。一切正常。但是当我隐藏在scrollview中的任何视图时,它根本没有调整scrollview高度。我的视图层次结构看起来像

Scrollview -> View -> view1
                   -> view2
                   -> view3
                   -> view4

所以在上面的情况下,如果我隐藏了view3,那么就不会调整layout.It留空地方代替隐藏视图。难道我做错了什么?如何使用动态高度的自动布局和滚动视图?

3 个答案:

答案 0 :(得分:0)

隐藏视图不会将其从视图层次结构中删除,只会使其不可见。

如果要使用autolayout执行此操作,则需要从层次结构中删除视图(removeFromSuperview),然后根据需要调整各种约束。这通常意味着您需要维护对需要更改的所有约束的引用。

答案 1 :(得分:0)

您应该使用UITableView并使用deleteRowsAtIndexPaths删除视图

答案 2 :(得分:0)

您应该将其宽度和高度更改为0.设置此属性的动画会导致滚动视图的内容视图中的优雅减少。确保正确设置子视图的自动布局。