我正在构建一个使用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并告诉它支持所有方向,是否有帮助?
有没有一种方法可以重写shouldAutorotateToInterfaceOrientation而不子类化控制器?从3.2之前的设备中隐藏UISplitViewController的其他方法吗?
最佳答案
您需要做的只是弱链接UIKit.framework。在目标的常规设置中,在“链接的库”列表中,将UIKit.framework的类型更改为“弱”,而不是“必需”。
关于iphone - 通用应用程序中的UISplitViewController子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3423730/