iphone - 通用应用程序中的 UISplitViewController 子类

标签 iphone ipad uisplitviewcontroller

我正在构建一个通用应用程序,它使用适用于 iPad 的 UISplitViewController,并且也应该适用于任何 3.0 设备,例如第一代 iPhone/iPod touch。问题是,尽管当应用程序在 iPhone 上运行时我实际上并没有创建 UISplitViewController 的任何实例,但我仍然会遇到可怕的

dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController
  Referenced from: /var/mobile/Applications/.....
  Expected in: /System/Library/Frameworks/UIKit.framework/UIKit

尝试在第一代 iPod touch 上运行时控制台出现错误。不过,在 iOS 4 设备上一切正常。我猜问题是我已经对 UISplitViewController 进行了子类化,并且在从 .h 文件中读取“@interface SplitControl : UISplitViewController {”行时它会卡住。

我将其子类化的唯一原因是重写 shouldAutorotateToInterfaceOrientation 方法。我正在以编程方式完成我的整个应用程序,没有 IB。如果我使用 IB 创建 SplitViewController 并告诉它支持所有方向会有帮助吗?

有没有办法在不子类化 Controller 的情况下覆盖shouldAutorotateToInterfaceOrientation?还有其他方法可以对 3.2 之前的设备隐藏 UISplitViewController 吗?

最佳答案

您所需要做的就是弱链接 UIKit.framework。在目标的常规设置中,在“链接库”列表中将 UIKit.framework 的类型更改为“弱”而不是“必需”。

关于iphone - 通用应用程序中的 UISplitViewController 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3423730/

相关文章:

iphone - 弹出回 View Controller 时如何更改单元格的背景图像?

iphone - 从 iphone 中的 .wav 文件读取时数据为空?

ios - 使用动画从按钮位置放大和缩小 UIView

ios - 用于聊天的 APN 推送通知

ios - UISplitViewController 和取消选择单元格

ios - 不要在水平紧凑的环境中折叠 UISplitViewController

ios - 进入多任务时更改 UISplitViewController displayMode 属性? (iOS 14)

iphone - 我们可以播放黑白视频吗

iphone - 如何从 UIView 创建 CGLayer 以进行离屏绘图

javascript - 从 uiwebview 以编程方式获取选定的元素?