1

ラベルをアニメーションで表示しようとしています:

- (void)handleSingleTap:(UIGestureRecognizer *)gestureRecognizer {
    if (isShowingRectangleLabel == NO) {
    [UIView transitionWithView:rectangleLabel duration:0.5
                       options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:^ { [self.view addSubview:rectangleLabel]; }
                    completion:nil];
        NSLog(@"action");
        isShowingRectangleLabel = YES;
    } else {
        [UIView transitionWithView:rectangleLabel duration:0.5
                       options:UIViewAnimationOptionTransitionFlipFromBottom
                    animations:^ { [rectangleLabel removeFromSuperview]; }
                    completion:nil];
        isShowingRectangleLabel = NO;
    }

}

ただし、このアニメーションは、サブビューに 2 番目に追加した後にのみ機能します。どうすれば修正できますか?

編集明確にするために、addSubview動作しますが、アニメーションはありません。

4

1 に答える 1

3

これを行う:

- (void)handleSingleTap:(UIGestureRecognizer *)gestureRecognizer {
    if (isShowingRectangleLabel == NO) {
    [UIView transitionWithView:self.view duration:0.5
                       options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:^ { [self.view addSubview:rectangleLabel]; }
                    completion:nil];
        NSLog(@"action");
        isShowingRectangleLabel = YES;
    } else {
        [UIView transitionWithView:self.view duration:0.5
                       options:UIViewAnimationOptionTransitionFlipFromBottom
                    animations:^ { [rectangleLabel removeFromSuperview]; }
                    completion:nil];
        isShowingRectangleLabel = NO;
    }

}
于 2012-08-23T08:09:49.610 に答える