ios – 在UISplitView中选择导航后,DetailView消失

ios – 在UISplitView中选择导航后,DetailView消失,第1张

概述我在项目中面临一个小问题.我有一个简单的IPad应用程序,在Lanscape方向使用SplitView. MasterViewController是一个tableview,而DetailView是WebView,如下所示: 上图导致以下结果: 之后,我把整个东西放在ECSlidingViewController里面.点击MasterViewController中的“菜单”按钮将显示侧面菜单,如下所 我在项目中面临一个小问题.我有一个简单的IPad应用程序,在Lanscape方向使用SplitVIEw. MasterVIEwController是一个tablevIEw,而DetailVIEw是WebVIEw,如下所示:

上图导致以下结果:

之后,我把整个东西放在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消失所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1042122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存