【发布时间】:2012-05-09 09:02:22
【问题描述】:
我有一个类似于模态视图控制器的东西,我需要显示在我的其他视图控制器上方。我没有使用常规的模态控制器功能(presentViewController: 和朋友),因为我需要更好地控制流程。相反,我使用的是视图控制器包含功能(addChildViewController: 方法组)。
包含功能使代码相当简单。当我需要呈现“模态”视图控制器时,我将它作为子视图添加到视图控制器层次结构中,一切都按预期工作。一个小问题是常规视图控制器包装在导航控制器中。因此,我必须将模态控制器添加为导航控制器的子级,否则它会被导航栏和工具栏覆盖。
现在的问题是,在导航控制器上调用 addChildViewController: 也会将新控制器设置为 topViewController,就像使用常规 pushViewController: 方法推送控制器一样。这意味着当模态控制器显示时,它下面的常规控制器不会收到外观和旋转回调。
这感觉像是一个错误,还是我遗漏了什么?
【问题讨论】:
标签: objective-c ios cocoa-touch uinavigationcontroller