четвер, 3 січня 2013 р.

MPFlipViewController и 3D перспектива

При попытке применить CATransform3DRotate к изначальной UIView для MPFlipViewController чтобы нарисовать такую листалку
 меня ждал облом :( . MPFlipViewController рендерит UIImage для листания и любые 3D транформации ios игнорит при этом. Получается картинка при листании теряет все 3D трансформации и становится абсолютно плоской.
Единственный способ — не использовать листалку из MPFlipViewController, а делать поворот самому (получение screenshot на айфоне возможно, но только через приватное api)

Анимирование:

[CATransaction begin];
{
    [CATransaction setCompletionBlock:^{
        можно задать вложенные транзакции/completions
    }];
    ...
    CABasicAnimation * anim = [CABasicAnimation     animationWithKeyPath:@"sublayerTransform.rotation.y"];
    anim.toValue = [NSNumber numberWithFloat:mp_radians(90)];
    anim.duration = 0.1;
    
     // эти две строки:  оставаться в посленей точке анимации (не возвращаться на исходную позицию)
    anim.removedOnCompletion = NO;
    anim.fillMode = kCAFillModeForwards;

    [self.rightPage.layer addAnimation:anim forKey:@"rotateRightPageAnimation"];
}
[CATransaction commit];



Немає коментарів:

Дописати коментар