繁体   English   中英

如何使以编程方式生成的子视图符合超级视图(iOS)的范围?

[英]how to make a programmatically generated subview conform to the bounds of the superview (iOS)?

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

我的问题是,无论iPad的方向如何,如何确保子视图填充整个containerView。 containerView的宽度为300,但高度会根据方向而变化。

我试过了:从viewDidLoad,viewWillAppear,viewDidAppear设置子视图的框架直接等于containerView框架的一侧,

创建LayoutConstraints,以强制子视图符合viewDidLoad,viewWillAppear和viewDidAppear中containerView的比例。 这里的问题是何时应用这些约束,并且由于视图是定期删除的,因此何时重新应用约束。

我不知道什么是惯用的方法,我希望我的代码可维护和可重用。 我是否以错误的方式处理? 还有其他方法来确保子视图填充其包含的视图吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM