我在ViewController中有一个UIContainerView,它将作为popoverViewController呈现。 在containerView中嵌入了一个UINavigationViewController。 在navigationView中嵌入了tableViewController,它在单元格选择上执行segue。
当用户从Settings表视图控制器中单击My sessions时,将调用(Main profile View Controller)上的委托方法来更新popoverViewController的preferredContentSize。 当UITableviewcontroller上的自定义backButton(<)时,popoverView将再次改变大小。我设法通过代表团完成所有工作 然而,据说它只能工作一次......来自设置表视图控制器的委托方法不再被调用。 我认为在设置视图控制器自己执行segue后,主配置文件视图控制器的委托将丢失,并且不会再次被调用。
这是它在运行时的外观
现在,点击我的会话后尺寸会发生变化,并在用户点击后退按钮
后返回原始尺寸但之后委托方法没有被调用,视图也没有像这样改变大小
我正在使用SWIFT 2.0和Xcode 7.01,如何保留委托方法的任何解决方案都将非常受欢迎。
答案 0 :(得分:0)
好的,所以我完全没有使用委托方法解决了这个问题。 当出现应该改变屏幕尺寸的视图控制器时,我使用
func viewWillAppear(animated: Bool) {
super.viewWillAppear(true)
presentingViewController?.preferedContentSize.width = 500
}
我在viewWillDisappear中反转它
我希望它有所帮助