上图导致以下结果:
之后,我把整个东西放在EcslIDingVIEwController里面.点击MasterVIEwController中的“菜单”按钮将显示侧面菜单,如下所示:
现在我可以点击菜单中的其他选项,让我们说我已经在菜单中点击了“联系人”,关联的视图控制器将出现如下所示:(此视图控制器没有任何详细视图)
到目前为止一切都很好,正是我想要的!现在,当我再次点击“菜单”按钮以显示菜单并再次选择“导航”以显示桌面视图时,问题就开始了.点击“导航”时,它会显示MasterVIEw,但会隐藏DetailVIEw,如下所示:
除此之外,点击上面tableivew中的任何条目将导致程序崩溃,并在控制台中显示以下消息:
* Assertion failure in -[UIStoryboardReplaceSegue perform],/SourceCache/UIKit_Sim/UIKit-2380.17/UIStoryboardBuiltInSegues.m:63
2013-03-30 13:59:58.179 19IPadIPad[5806:c07] * Terminating app due
to uncaught exception ‘NSInternalinconsistencyException’,reason:
‘Could not find a split vIEw controller ancestor for
”,while performing a split vIEw
controller replace segue (IDentifIEr ‘pushlink’) with destination
”’
*** First throw call stack: (0x217b012 0x16bce7e 0x217ae78 0x1152665 0xa57349 0xa48b99 0xa48c14 0x6b0249 0x6b04ed 0x10ba5b3 0x213a376
0x2139e06 0x2121a82 0x2120f44 0x2120e1b 0x1d587e3 0x1d58668 0x600ffc
0x24bd 0x23e5) libc++abi.dylib: terminate called throwing an exception
有人可以调查问题并告诉问题可能在哪里.提前致谢.
更新:
在聊天时与用户交谈后,我点击菜单中的导航后,出现的下一件事只是主视图和实际上没有加载splitvIEw.看起来这是问题,但我不知道如何解决这个问题.
更新:
EcslIDingVIEw如何与SplitVIEw集成
在收到评论询问EcslIDingVIEw如何连接到项目和SplitVIEw后,我正在更新问题.
我创建了一个名为’MainSplitVIEwController’的类,它继承自UISplitVIEwController,并在身份检查器的故事板中将它与splitVIEw连接起来.我也给它了“Splittop”的故事板ID.
然后在我的InitialVIEwController中,我将SplitVIEw称为topvIEwcontroller,如下所示:
if (UI_USER_INTERFACE_IdioM() == UIUserInterfaceIdiomPad) { self.topVIEwController = [storyboard instantiateVIEwControllerWithIDentifIEr:@"Splittop"]; }
当您在MasterVIEwController上按下“Menu”按钮时,会出现EcslIDingVIEw菜单,如上图所示.该菜单按钮使用IBAction来显示EcslIDingVIEw:
- (IBAction)revealMenu:(ID)sender { [self.slIDingVIEwController anchortopVIEwTo:ECRight];}解决方法 我还在我正在研究的测试项目中使用了EcslIDingVIEwController.我想我能够解决你遇到的问题.
首先,这个问题与SplitVIEw或其中的导航控制器没有任何关系,因为你可以删除SplitVIEw,它将正常工作.此问题完全与您如何在EcslIDingVIEw库中集成SplitVIEwController相关联.
在浏览了上面发布的图像之后,在开始处理SplitVIEw之前,似乎已将EcslIDingVIEwController添加到项目中.这意味着在您的代码中,导航菜单仍然连接到您的MasterVIEwController.它应该连接到SplitVIEwController.
由于您的更新问题表明您在InitialVIEw中调用SplitVIEw,如下所示:
if (UI_USER_INTERFACE_IdioM() == UIUserInterfaceIdiomPad) { self.topVIEwController = [storyboard instantiateVIEwControllerWithIDentifIEr:@"Splittop"]; }
但上面的代码只是将它设置为topVIEwController.我检查了EcslIDingVIEw库,您会注意到MenuVIEwController处理了显示的Menu表视图.这意味着您必须在此课程中进行必要的更改.
由于MainSplitVIEwController类的StoryBoard ID设置为“Splittop”,您可以将其添加到MenuVIEwController类的VIEwDIDLoad部分,其中定义了绘制Menu项的整个数组.
希望有所帮助.
总结以上是内存溢出为你收集整理的ios – 在UISplitView中选择导航后,DetailView消失全部内容,希望文章能够帮你解决ios – 在UISplitView中选择导航后,DetailView消失所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)