Символ не найден: _UIPageViewControllerOptionSpineLocationKey - PullRequest
0 голосов
/ 14 октября 2011

Мне бы хотелось иметь анимацию скручивания страницы, когда мое приложение работает на iOS 5, для устройств iOS 4 я сделал собственную анимацию.

Я устанавливаю spineLocation вручную, так как иначе он не работает (см .: UIPageViewController: pageViewController: spineLocationForInterfaceOrientation: не вызывается ):

if ([UIPageViewController class]) {
   NSDictionary *options = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithInt:UIPageViewControllerSpineLocationMid], UIPageViewControllerOptionSpineLocationKey, nil];
   ...

Но это дает мне во время выполнения на iOS4:

 Symbol not found: _UIPageViewControllerOptionSpineLocationKey

Код не доступен на iOS4-устройствах, тем не менее он вылетает с этим сообщением об ошибке. Что я могу сделать, чтобы заставить это работать?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 17 октября 2011

Думаю, вам понадобится слабая ссылка на фреймворк UIKit.Из документации выглядит, что UIPageViewControllerOptionSpineLocationKey является статической переменной, поэтому проверки объекта недостаточно, чтобы избежать ошибки времени выполнения.

0 голосов
/ 05 декабря 2011

Не используйте слабые ссылки UIKit, если вы не хотите менее производительное приложение, особенно при запуске!Для решения этой конкретной проблемы вы можете обойтись, просто используя

@"UIPageViewControllerOptionSpineLocationKey"

вместо константы, определенной в UIKit.Это некрасиво, но оно выполняет свою работу без слабой связи всей платформы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...