ios - 如何使以编程方式生成的 subview 符合父 View (iOS)的边界?

标签 ios constraints addsubview

我有一个名为 containerView 的包含 View ,它是一个 UIView。当应用程序启动时,它就是那个 View 。在应用程序执行过程中,我想在主 containerView 中交换两个“全尺寸” subview 。

我的问题是,无论 iPad 的方向如何,如何确保 subview 填满整个 containerView。 containerView 的宽度为 300,但高度因方向而异。

我试过: 将来自 viewDidLoad、viewWillAppear、viewDidAppear 的 subview 的框架设置为直接等于 containerView 框架的一侧,

创建 LayoutConstraints,强制 subview 符合来自 viewDidLoad、viewWillAppear 和 viewDidAppear 的 containerView 的比例。这里的问题是何时应用这些约束,以及由于定期删除 View ,何时重新应用约束。

我不知道惯用的方法是什么,我希望我的代码是可维护和可重用的。我是以错误的方式接近这个吗?有没有其他方法可以确保 subview 填满它的包含 View ?

示例代码: https://gist.github.com/Sahasrara/6817105

最佳答案

您应该在 viewDidLayoutSubviews 中设置框架大小。到那时所有的自动布局废话都发生了。

关于ios - 如何使以编程方式生成的 subview 符合父 View (iOS)的边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19168358/

相关文章:

ios - 在 UITests 中解决 "Main Thread Checker: UI API called on a background thread: -[UIApplication setNetworkActivityIndicatorVisible:]"

java - 为什么 bean 验证 Min/Max 约束不支持 double 类型?

ios - UIButton 的 title 属性记录正确,但在将按钮添加为 subview 时未显示

ios - 如何在一行代码中向我的 iOS View 添加多个 subview ? (也许通过 "monkeypatching"一个 `addSubviews` 实例方法到 UIView?)

ios - 添加为 subview 时,新创建的 UIImageView 不会显示

Objective C 的 Javascript 语法荧光笔

iOS:即使单元格可见,cellForItemAtIndexPath 也返回 nil

ios - Firebase iOS SDK : How to get multiple Data in one query

ios - 布局约束不起作用和/或失败

MySQL 约束检查是否存在且处于事件状态