0

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

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

对此有任何解决方案吗?

4

1 回答 1

0

获取 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
}
于 2014-09-10T13:01:54.943 回答