objective-c – 如何在IOS8中隐藏UISplitViewcontroller的masterView

objective-c – 如何在IOS8中隐藏UISplitViewcontroller的masterView,第1张

概述所有, 我在IOS8 for iPad中遇到了新的UISplitViewcontroller问题.我在detailViewcontroller的storyboard中有一个UITableView,在单击单元格时,我应该转到另一个名为“detailinfo”的视图.我目前正在使用“show”segue. 然而,目前的segue只是推动了正确的部分.我想它显示全屏,但我不知道如何制作它,我尝试使用sp 所有,

我在IOS8 for iPad中遇到了新的UISplitVIEwcontroller问题.我在detailVIEwcontroller的storyboard中有一个UItableVIEw,在单击单元格时,我应该转到另一个名为“detailinfo”的视图.我目前正在使用“show”segue.

然而,目前的segue只是推动了正确的部分.我想它显示全屏,但我不知道如何制作它,我尝试使用splitVIEwController的preferreddisplayMode属性,结果是它只是隐藏主视图但没有调整detailVIEw的大小.我不想用礼物作为模态.

目前我正在做的方式是

- (voID)prepareForSegue:(UIStoryboardSegue *)segue sender:(ID)sender {    if([[segue IDentifIEr]isEqualToString:@"showStudentDetail"]){        if(self.traitCollection.horizontalSizeClass != UIUserInterfaceSizeClassCompact){            UISplitVIEwController *splitVIEwController = (UISplitVIEwController *)self.navigationController.parentVIEwController;            splitVIEwController.preferreddisplayMode = UISplitVIEwControllerdisplayModePrimaryHIDden;        }    }}

并在vIEwDIDAppear中使用

- (voID)vIEwDIDAppear:(BOol)animated {    if(self.traitCollection.horizontalSizeClass != UIUserInterfaceSizeClassCompact){        UISplitVIEwController *splitVIEwController = (UISplitVIEwController *)self.navigationController.parentVIEwController;        splitVIEwController.preferreddisplayMode = UISplitVIEwControllerdisplayModeautomatic;    }}

这将工作,但masterVIEwController将“跳出”具有非常糟糕的视觉效果.
希望可以得到任何帮助,谢谢

解决方法 UISplitVIEwController是一个复杂的视图控制器,由两个子视图控制器组成.因此,当您使用添加到任何子视图控制器的某个segue时,您要求子视图控制器执行segue.并且该子视图控制器具有对活动窗口的部分控制.

在您的情况下,您需要请求拆分视图控制器执行segue.因此,您应该将segue添加到处理活动窗口的拆分视图控制器中.这样您就可以使用全屏选项.

UPDATE

如果你不想使用present作为模态并且想要避免“跳出”效果,你可以使用动画隐藏master

UISplitVIEwController *splitVIEwController = [self splitVIEwController];[UIVIEw animateWithDuration:0.25 animations:^{    splitVIEwController.preferreddisplayMode = UISplitVIEwControllerdisplayModePrimaryHIDden;} completion:^(BOol finished) {    [splitVIEwController showDetailVIEwController:vc sender:nil];}];
总结

以上是内存溢出为你收集整理的objective-c – 如何在IOS8中隐藏UISplitViewcontroller的masterView全部内容,希望文章能够帮你解决objective-c – 如何在IOS8中隐藏UISplitViewcontroller的masterView所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1083083.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存