简体   繁体   English

addSubview动画仅在第二次后才能工作

[英]addSubview animation works only after second time

I am trying to make my label appear with animation: 我想让我的标签出现动画:

- (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;
    }

}

But this animation works only after second adding to subview. 但此动画仅在第二次添加到子视图后才有效。 How can I fix it? 我该如何解决?

EDIT To clarify, addSubview works but without animation. 编辑为了澄清, addSubview工作但没有动画。

Do this: 做这个:

- (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;
    }

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM