iOS 自动调整大小的容器视图

iOS Auto Resizable Container Views

我正在构建一个具有多个屏幕的 iOS 应用程序,但我希望避免重复代码以及一个大型故事板。理想情况下,我希望在需要时根据内容视图中选定的情节提要加载各种视图控制器。

屏幕模板(Master/Root视图)由3个视图组成,即:

现在,我当然可以使用传统的 UINavigationController 和 UITabBar,但我需要更好地控制这些视图,特别是在尺寸方面(它们的最小高度大于 NavBar 和 TabBar 的最小高度)。

我还需要根据特征调整这些视图的大小,Class 大小以保持填满整个屏幕。

我正在尝试使用容器视图来执行此操作,但尽管在自动布局中尝试了一组不同的约束,但我无法让它们自动调整大小。将 3 个视图放在堆栈视图中也无法解决问题。

最终我希望能够单独处理将加载到 View B 中的各种控制器视图,使用它们自己的情节提要,在 B 中以编程方式调用它们并具有所有内容都会自动调整大小。

感谢大家的宝贵意见! 克里斯

当使用 addChildViewController(childVC) / addChild(childVC) (Swift 4.1 / 4.2) 时,后跟 myContainerView.addSubview(childVC.view) 您需要

  • 为添加的子视图添加约束

  • 设置子视图的框架和.autoResizingMask

之后,您新添加的子视图将正确布局和调整大小。