SWIFT UINavigationController嵌入在一个容器视图

问题描述:

我有一个ViewController里面的UIContainerView,它将被显示为一个popoverViewController。 在containerView中嵌入了一个UINavigationViewController。 在导航视图中嵌入了tableViewController,它在单元格选择上执行segue。SWIFT UINavigationController嵌入在一个容器视图

像这样enter image description here

当用户从设置表视图控制器我的课程点击了(主型材 - 视图 - 控制器)的委托方法被调用来更新popoverViewController的preferredContentSize。 并且当UITableviewcontroller上的自定义backButton(<)时,popoverView将再次更改大小。我设法通过代理 得到它所有的工作,但据说它只能工作一次...从设置表视图控制器的委托方法不会被调用了。 我认为设置视图控制器自行执行segue后,主配置文件视图控制器的代理会丢失,并且不会再次调用。

这是它的外观在运行时

enter image description here

现在我的会话,并返回到原始大小的点击尺寸改变用户点击后退按钮后

enter image description here

但之后代理方法不会被调用,并且视图不会像这样改变大小

enter image description here

我正在使用SWIFT 2.0和Xcode 7.01关于如何保留委托方法的任何解决方案将非常感激。

好吧,所以我解决了它没有使用代表方法。 当提出一个应该改变屏幕尺寸视图控制器我使用

func viewWillAppear(animated: Bool) { 
super.viewWillAppear(true) 
presentingViewController?.preferedContentSize.width = 500 
} 

,我扭转它在viewWillDisappear

我希望它能帮助