找不到符号:_UIPageViewControllerOptionSpineLocationKey

时间:2011-10-14 08:50:20

标签: objective-c ios5

当我的应用在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设备上未达到代码,然而它与该错误消息崩溃。我能做些什么才能做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:3)

我认为您需要弱链接到UIKit框架。从documentation开始,UIPageViewControllerOptionSpineLocationKey看起来像是一个静态变量,因此检查对象不足以避免运行时错误。

答案 1 :(得分:0)

除非您想要性能较低的应用,否则不要弱化UIKit,尤其是在启动时! 对于此特定问题,您可以使用

解决此问题

@"UIPageViewControllerOptionSpineLocationKey"

而不是UIKit中定义的常量。这很丑陋,但它完成了工作而没有弱连接整个框架。