M. *_*yan 9 iphone uikit ipad uisplitviewcontroller
我正在做一个iPad技术演示,我遇到了一个严重的技术问题.
我有一个利用UISplitViewController的应用程序概念,但不是整个应用程序的主要控制器.
应用程序流程大致可以这样描述:
主屏幕(UIViewController)列表 - >详细信息"目录"(UISplitViewController)超级细节屏幕(UIViewController但可以想象也可以是SplitView的孩子).
问题出在Home和Catalog之间.一旦将UISplitViewController视图添加到UIWindow,它就会开始出现混乱.
问题可归纳为:
当UISplitView生成弹出视图时,它似乎会被锁定到其父视图.从UIWindow子视图中删除UISplitView后,您将获得CoreGraphics异常,并且视图将无法删除.
当添加其他视图(可能在这种情况下,你要返回的主屏幕)时,它们不会自动旋转,而是由于CG异常而无法移除的UISplitView继续响应旋转,造成可怕的渲染错误,不能只是"处理".此时,添加任何视图,甚至重新添加SplitView,都会导致一连串的渲染错误.
然后我尝试简单地将SplitView作为"底部"视图保留,并保持在其顶部添加和删除主屏幕,但这失败,因为SplitView支配Orientation更改调用,并且主屏幕不会旋转,甚至如果你打电话给[homeScreen becomeFirstResponder]
您不能将SplitView放入像UINavigationController这样的层次结构中,您将获得彻底的运行时错误,因此该选项不在表中.模态看起来很糟糕,无论如何都是劝阻.
我现在的假设是处理这个问题的唯一正确方法是以某种方式"解除"UISplitViewController,以便它可以从其父视图中删除而不抛出未处理的异常,但我不知道如何.
如果您想查看完全符合我需要的应用,请查看iPad应用商店中的GILT Groupe.他们将其关闭,但他们似乎编写了一个完整的自定义视图转换集.
非常感谢帮助.
我已经为自己解决了这个问题...实际上已经解决了...通过将所有其他可能的全屏视图呈现为 SplitView 的模式...
在我的书中,这是一种令人讨厌的做事方式,但如果您只想“有时”在应用程序中利用 SplitView,Apple 给您别无选择。
归档时间: |
|
查看次数: |
12293 次 |
最近记录: |