我在 iPhone 中有一个视图,我想将其用作 iPad 中的详细视图。不幸的是,iPhone 中的退出按钮用于关闭视图,其中我使用了与 SplitViewController 中的详细视图相同的视图。
由于详细信息视图是 splitViewController 中的子视图,因此当我点击退出按钮以关闭 splitView(显然)时,它现在给了我错误。
对此有任何解决方案吗?
我在 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
}