我正在尝试使用下面第一次正常工作的代码添加动画效果的子视图。
CATransition *transition = [CATransition animation];
transition.duration = 1.0;
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromRight;
[newView.layer removeAllAnimations]
[newView.layer addAnimation:transition forKey:nil];
[self.masterview addSubview:newView];
newView中有一个后退按钮,可以从超级视图中删除视图。
[newView removeFromSuperview];
现在,当我尝试使用上面的代码再次添加newView作为子视图时,它首先将视图添加为子视图(没有动画),再次添加动画。
答案 0 :(得分:0)
为什么不设置像
这样的框架,而不是从superview中删除newViewnewView.frame = CGRectMake(0, -500, CGRectGetWidth(newView.frame), CGRectGetHeight(newView.frame));
这样你就可以将其隐藏起来。只是一个想法。 : - )
答案 1 :(得分:0)
从超级视图中删除视图时,它会保持帧的原样。因此,我认为您必须将newView位置更改为再次放置在新位置。
答案 2 :(得分:0)
它一直都能正常工作。但是你必须找到的唯一区别是你需要在动画期间使用wai。它不会持续动画。这需要您在持续时间内提及的最短时间。