【发布时间】:2014-05-31 14:55:19
【问题描述】:
我有一个UIViewController,其中包含主要的UIView,其中顶部是一个小的UIView,其余的空间是一个UITableView。
所有的设计都是用Storyboards和autolayout完成的,所以上面UIView基本上有这些限制:
- 顶部空间 = 0px 到超级视图
- 前导空间 = 0px 到超级视图
- 尾随空格 = 0 px 超级视图
- 高度 = 44 像素
这些为UITableView:
- 顶部空间 = 0px 到
UIView - 底部空间 = 0px 到超级视图
- 前导空间 = 0px 到超级视图
- 尾随空格 = 0 px 超级视图
当使用不同的屏幕尺寸或方向时,一切正常并正确调整大小。我现在要做的是以编程方式删除顶部UIView,然后我希望UITableView 将空间填充到超级视图的顶部。
我知道我可以以编程方式为UITableView 创建一个新约束,但我正在寻找的是低优先级约束?已在 Storyboard 中定义,可以与之前已定义的内容共存。
任何其他技巧或解决方法也将不胜感激,唯一的限制是一切都应该在情节提要中设计,并且一切都应该在调用后工作:
[view removeFromSuperview];
这是设计:
【问题讨论】:
-
顶视图一定要去掉吗?如果不是,您可以将顶视图的高度更改为 0(零)的动画,或者您可以将顶视图的顶部约束常数从 0 更改为 -44 的动画,这将使视图从屏幕顶部滑出。在任何一种情况下,表格视图都应该占用“额外”空间,并且会以动画方式启动!
标签: ios objective-c uitableview uiview autolayout