【发布时间】:2019-08-27 00:41:40
【问题描述】:
当创建一个新的UIViewController 时,相应的XIB 文件中的根视图可以设置为任何固定 高度。但是,根视图应该自动适应其内容。如何做到这一点?
- 创建一个新的 XIB 文件:
- 在根视图中添加一个新的子视图,并给它一些固定的宽度和高度。
- 向子视图添加前导约束以定义 X 位置
- 向子视图添加顶部约束以定义 Y 位置
- 为子视图添加底部约束以定义内容高度 (
top + subview height + bottom) - 到目前为止一切都很好,因为
top + subview height + bottom等于根视图的高度。 - 如果顶部或底部约束设置为另一个值,我希望根视图调整大小以匹配其内容。然而,IB 却抱怨约束冲突。
如何解决?
当然,在大多数情况下,根视图的大小不是由其内容定义的,而是由屏幕、模式视图等定义的。ViewController 显示在其中。
但是,我想在另一个 ViewController 中将 ViewController 显示为 ScrollView 的内容。 在这种情况下,ContentViewController 应该与其内容匹配,并且 ScrollView 会确保完整内容是可访问的。
可以在 IB 内解决此问题,而无需操纵代码中的约束吗?
【问题讨论】:
-
这是一个将 xib 视图加载到滚动视图中的示例。您可能会发现它有帮助:stackoverflow.com/a/54634586/6257435
标签: ios uiview uiviewcontroller ios-autolayout