在我的链条中,我有一个棘手问题。 我对我屏幕上的每个区块(其中26个)都设置了栏目,当用户向它们发出警告时,我只字不提。 它发挥了巨大作用,但在我这样做之前,我会增加一个规模的估算,使其在屏幕上增加大约50%。 因此,我的顺序是:
enlarge delay (let user see the large image) spin-out 90% (removes block from view) - using transform.rotation.y change image & spin-in shrink.
我设立了窗户观察控制员,作为这些区块的代表,这样它就可以通过对照区块,这样我就可以把右子放在首位(使用固定位置)。
这一切都发挥了巨大作用,但我有两个区块在屏幕上站在上面/在座,这样大群就会使其重叠,然后当平流 an开始时,它就立即有右侧, block在下面的栏目下。 我试图改变 an子,以改变.子,在 blocks子旁边时采取同样的行动。
我不敢肯定的是,如果我不做什么是正确的,那会给我带来一场幻觉。 任何建议都受到高度赞赏。 下面是附带办法:
- (void)spinOut:(id)sender
{
NSTimeInterval animationTime=0.85;
[UIView animateWithDuration:animationTime
delay:0
options: UIViewAnimationOptionCurveLinear
animations:^{
// setup the animation to spin the current view out
[CATransaction begin];
[CATransaction setDisableActions:YES];
CABasicAnimation *spinOut = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
[spinOut setDelegate:self];
[spinOut setDuration:animationTime];
CAMediaTimingFunction *tf = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
[spinOut setTimingFunction:tf];
[spinOut setFromValue:[NSNumber numberWithFloat:M_PI * 0.0]];
[spinOut setToValue:[NSNumber numberWithFloat:M_PI * 0.5]];
[spinOut setRemovedOnCompletion:NO];
[spinOut setFillMode:kCAFillModeForwards];
// setup variables used to roll in the next view on animation completion.
[pageView.layer addAnimation:spinOut forKey:kMyVeryOwnABCsSpinOutKey];
[CATransaction commit];
}
completion:^(BOOL finished){
[self setFlipOutAnimationTimer:[NSTimer scheduledTimerWithTimeInterval:animationTime target:self selector:@selector(spinIn:) userInfo:nil repeats:NO]];
}];
}