如何快速管理嵌套的视图控制器视图大小?
Posted
技术标签:
【中文标题】如何快速管理嵌套的视图控制器视图大小?【英文标题】:How to manage nested viewcontrooler view size in swift? 【发布时间】:2016-03-06 07:46:10 【问题描述】:我有一个父视图控制器,想在其中构建一个嵌套视图控制器。父视图控制器在屏幕中间有一个 contentView(a UIView)。单击按钮时,我希望嵌套视图控制器出现在 contentView 位置。但是当我单击按钮时,嵌套视图将显示在 contentView 之外。下面是我正在使用的代码。 currentViewController 是嵌套视图。 contentView 是父视图。我发现有趣的是,如果我使用 UITableViewController 作为嵌套控制器,一切正常。嵌套视图正确地位于其父视图内。当我使用 UIViewController 时它失败了。我不知道出了什么问题。
self.currentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("NestedViewController")
self.addChildViewController(self.currentViewController!)
self.currentViewController?.view.translatesAutoresizingMaskIntoConstraints = false
self.currentViewController?.view.frame = self.contentView.bounds
self.contentView.addSubview((self.currentViewController?.view)!)
self.currentViewController?.didMoveToParentViewController(self)
self.currentViewController?.view.layoutIfNeeded()
【问题讨论】:
为什么在不使用约束的情况下会有这条线self.currentViewController?.view.translatesAutoresizingMaskIntoConstraints = false
你是对的。删除此代码后,它工作正常。
太好了,让我添加为 aswer
【参考方案1】:
你应该删除该行
self.currentViewController?.view.translatesAutoresizingMaskIntoConstraints = false
因为当你想使用自动布局约束时使用它。
【讨论】:
以上是关于如何快速管理嵌套的视图控制器视图大小?的主要内容,如果未能解决你的问题,请参考以下文章