嵌入在containerView中的SWIFT UINavigationController

时间:2015-10-13 20:11:59

标签: ios iphone xcode swift ipad

我在ViewController中有一个UIContainerView,它将作为popoverViewController呈现。 在containerView中嵌入了一个UINavigationViewController。 在navigationView中嵌入了tableViewController,它在单元格选择上执行segue。

喜欢这样enter image description here

当用户从Settings表视图控制器中单击My sessions时,将调用(Main profile View Controller)上的委托方法来更新popoverViewController的preferredContentSize。 当UITableviewcontroller上的自定义backButton(<)时,popoverView将再次改变大小。我设法通过代表团完成所有工作 然而,据说它只能工作一次......来自设置表视图控制器的委托方法不再被调用。 我认为在设置视图控制器自己执行segue后,主配置文件视图控制器的委托将丢失,并且不会再次被调用。

这是它在运行时的外观

enter image description here

现在,点击我的会话后尺寸会发生变化,并在用户点击后退按钮

后返回原始尺寸

enter image description here

但之后委托方法没有被调用,视图也没有像这样改变大小

enter image description here

我正在使用SWIFT 2.0和Xcode 7.01,如何保留委托方法的任何解决方案都将非常受欢迎。

1 个答案:

答案 0 :(得分:0)

好的,所以我完全没有使用委托方法解决了这个问题。 当出现应该改变屏幕尺寸的视图控制器时,我使用

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

我在viewWillDisappear中反转它

我希望它有所帮助