如何从子视图(局部视图)中取消拆分视图



我在iPhone中有一个单独的视图,我想在iPad中将其用作详细视图。不幸的是,iPhone中的退出按钮用于取消视图,而在中,我使用了与SplitViewController中的详细视图相同的视图。

由于详细信息视图是splitViewController中的子视图,当我点击退出按钮以关闭splitView时,它现在会给我错误(显然)。

有什么解决方案吗?

获取iPhone和iPad的所有不同代码,并将共享类划分为子类。然后,您可以在子类中执行iPad或iPhone特定的操作,同时在超类中仍然具有相同的核心功能。请确保将情节提要中的视图控制器更改为新的子类。

因此,你现在在iPhone和iPad中使用的SingleViewController将变成:

                 ParentViewController
                         |
          ---------------------------------
         |                                 |
iPadViewController               iPhoneViewController
(detail view controller)         (single view controller)

编辑:
如果你只想对每个设备以不同的方式处理一些事情,或者你只是不想进行子类化,那么你可以对每个设备采取不同的操作,比如:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // Code for iPad
} else {
    // Code for iPhone
}

最新更新