2013年8月12日月曜日

ViewControllerのカスタムトランジションの作り方

面白いのは新旧ViewControllerのビューのスクリーンショットを取ってトランジションさせるところ。
スクリーンショットを作るオーバーヘッドはあるけど一旦画像が作れればその後の自由度は高い。なるほど。

トランジション例



スクリーンショット画像作成コード
CALayerをレンダリングさせるのか。
//Create a UIImageView from the given layer
- (UIImageView*)takeScreenshot:(CALayer*)layer{
     
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, YES, [[UIScreen mainScreen] scale]);
    [layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIImageView *screnshot = [[UIImageView alloc] initWithImage:image];
     
    return screnshot;
}



0 件のコメント:

コメントを投稿