我有一个名为 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 ?
最佳答案
您应该在 viewDidLayoutSubviews 中设置框架大小。到那时所有的自动布局废话都发生了。
关于ios - 如何使以编程方式生成的 subview 符合父 View (iOS)的边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19168358/