0

次のアニメーションをブロックで動作させるにはどうすればよいですか?

(トランジション アニメーションの完了ハンドラーでキーボードを非表示にする必要があります)

- (void) showNewViewAnimatedSlideAscending:(BOOL)isAscending {
    UIView * oldView = self.myView;
    UIView * newView = self.myView;
    UIView * superView = self.myView.superview;

    [oldView removeFromSuperview];
    [superView addSubview:newView];

    // set up an animation for the transition between the views
    CATransition *animation = [CATransition animation];
    [animation setDuration:0.3];
    [animation setType:kCATransitionPush];
    if(isAscending) {
        [animation setSubtype:kCATransitionFromRight];
    } else {
        [animation setSubtype:kCATransitionFromLeft];
    }
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

    [[superView layer] addAnimation:animation forKey:@"myTransitionAnimation"];
    if(self.keyboardVisible) {
        [self.view endEditing:YES];
    }
}  

ps; 私は知っています、私は同じビューを削除して表示しています。このビューは、このメソッドを呼び出す直前に新しいデータを受け取りました。どういうわけかビューが正しく表示され、「新しい」ビューに新しいデータのみが表示されます。

4

0 に答える 0