Как я могу правильно работать OpenFlow в iOS 5.0?

Недавно я обновил приложение для использования iOS 5.0 SDK. Внутри я использую реализацию потокового потока OpenFlow от Alex Fajowski .

Я обнаружил, что когда я запускаю приложение на iOS 5.0, OpenFlow делает неправильное преобразование или Z-перепозиционирование при прокрутке изображений.

Есть ли что-то, что я могу сделать, чтобы OpenFlow работал правильно в iOS 5.0 SDK?

Я сделал улучшение по сравнению с тем, что у вас здесь, и это, безусловно, делает его работу плавно (как раньше это было в iOS 4).

В AfOpenFlowView.m вместо того, что вы указали выше (в -setUpInitialState):

leftTransform = CATransform3DTranslate(CATransform3DIdentity, 0, 0, SIDE_COVER_ZPOSITION / 2.0); leftTransform = CATransform3DRotate(leftTransform, SIDE_COVER_ANGLE, 0.0f, 1.0f, 0.0f); rightTransform = CATransform3DTranslate(CATransform3DIdentity, 0, 0, SIDE_COVER_ZPOSITION / 2.0); rightTransform = CATransform3DRotate(rightTransform, SIDE_COVER_ANGLE, 0.0f, -1.0f, 0.0f); 

Inside -layoutCover: selectedCover: анимированный, поместите следующий код:

 CGFloat newZPosition = SIDE_COVER_ZPOSITION / 2.0; 

 CABasicAnimation *zPositionAnimation = [CABasicAnimation animationWithKeyPath:@"zPosition"]; [zPositionAnimation setToValue:[NSNumber numberWithFloat:newZPosition]]; [zPositionAnimation setDuration:(animated ? .3 : 0.0)]; [zPositionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; [zPositionAnimation setRemovedOnCompletion:NO]; [zPositionAnimation setFillMode:kCAFillModeForwards]; 

Теперь, вместо того, чтобы делать:

 aCover.layer.zPosition = newZPosition; 

Замените его:

 [aCover.layer addAnimation:zPositionAnimation forKey:nil]; 

Вы можете условно включить либо в зависимости от того, работает ли она на iOS 4 или 5.

Лучший,

Сегодня я наконец нашел решение этой проблемы. По-видимому, в iOS 5 zPosition больше не анимируется (слишком плохо, потому что документация так говорит). Вот почему эта ошибка может быть исправлена ​​путем включения правильного перехода в CATransform3D.

Ранее:

  leftTransform = CATransform3DIdentity; leftTransform = CATransform3DRotate(leftTransform, SIDE_COVER_ANGLE, 0.0f, 1.0f, 0.0f); rightTransform = CATransform3DIdentity; rightTransform = CATransform3DRotate(rightTransform, SIDE_COVER_ANGLE, 0.0f, -1.0f, 0.0f); 

Теперь это выглядит так:

  leftTransform = CATransform3DTranslate(CATransform3DIdentity, 0, 0, SIDE_COVER_ZPOSITION); leftTransform = CATransform3DRotate(leftTransform, SIDE_COVER_ANGLE, 0.0f, 1.0f, 0.0f); rightTransform = CATransform3DTranslate(CATransform3DIdentity, 0, 0, SIDE_COVER_ZPOSITION); rightTransform = CATransform3DRotate(rightTransform, SIDE_COVER_ANGLE, 0.0f, -1.0f, 0.0f); 

Надеюсь, это поможет вам, ребята, поскольку это действительно помогло мне.

  • Как заставить клавиатуру отображаться без UITextField
  • Управление не происходит в блоке завершения
  • IOS5 __block изменяет значения EXC_BAD_ACCESS вне области видимости
  • MBProgress HUD не показывает правильный режим всегда по умолчанию
  • ios - при получении параметров из текстового поля я должен проверить нуль перед обрезкой?
  • Метод viewWillAppear не вызван в iOS 4.2
  • Как мы обнаруживаем и сохраняем текст, который написан на iPhone / iPad Touch Screen?
  • Какой порядок вызывают методы datasource для UITableView после reloadData?
  • Метка UIButton не будет обновляться
  • Сбой iOS6.0 на iOS5 gestureRecognizer
  • iOS 5 - Изображения в ярлыках?
  • Interesting Posts

    BSD atos доступен в Linux?

    Изменение размера панели инструментов при повороте в iOS8

    Приложение iOS Mail – семейство шрифтов всегда Times New Roman с моим шаблоном

    Совместное использование в Twitter с UIActivityViewController не работает

    Неопределенные символы для архитектуры armv7: «_OBJC_CLASS _ $ _ Crashlytics», на которые ссылается: objc-class-ref в AppDelegate.o

    Невозможно получить ограничения прямо на пользовательской клавиатуре iOS8

    Создание словарей «на лету» в Swift с пользовательскими перечислениями в качестве значений

    Профиль Provisioning не соответствует идентификатору пакета

    Небалансные вызовы для перехода на начало / конец для <QLRemotePreviewContentController: 0x16ca7400>

    Как проверить текущий пароль пользователя при смене пароля на Firebase 3?

    Как работает внутренняя навигация в iOS с помощью iBeacon?

    UISlider не работает внутри UITableViewCell

    iOS отправляет твит с тканью без составления твитов

    Swift: изменение текста текстового поля при изменении текста другого текстового поля

    Проблема с диагональю UISwipeGestureRecognizer

    Давайте будем гением компьютера.