当我的应用在iOS 5上运行时,我想要有页面卷曲动画,对于iOS 4设备,我制作了自定义动画。
我正在手动设置spineLocation,因为它不起作用(参见:UIPageViewController: pageViewController:spineLocationForInterfaceOrientation: not called):
if ([UIPageViewController class]) {
NSDictionary *options = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithInt:UIPageViewControllerSpineLocationMid], UIPageViewControllerOptionSpineLocationKey, nil];
...
但是这在iOS4上运行时给了我:
Symbol not found: _UIPageViewControllerOptionSpineLocationKey
在iOS4设备上未达到代码,然而它与该错误消息崩溃。我能做些什么才能做到这一点?
谢谢!
答案 0 :(得分:3)
我认为您需要弱链接到UIKit
框架。从documentation开始,UIPageViewControllerOptionSpineLocationKey
看起来像是一个静态变量,因此检查对象不足以避免运行时错误。
答案 1 :(得分:0)
除非您想要性能较低的应用,否则不要弱化UIKit,尤其是在启动时! 对于此特定问题,您可以使用
解决此问题 @"UIPageViewControllerOptionSpineLocationKey"
而不是UIKit中定义的常量。这很丑陋,但它完成了工作而没有弱连接整个框架。