我有一个缩放动画,当我执行动作时,视图以缩放方式出现。
我用来做这个的代码是,
CGFloat xpos = self.view.frame.origin.x;
CGFloat ypos = self.view.frame.origin.y;
popContents.view.frame = CGRectMake(xpos+100,ypos+150,5,5);
[UIView beginAnimations:@"Zoom" context:NULL];
[UIView setAnimationDuration:0.8];
popContents.view.frame = CGRectMake(320, ypos-70, 350, 350);
[UIView commitAnimations];
[self.view.superview addSubview:popContents.view];
我刚刚意识到在ios4.0中不推荐以这种方式使用,建议使用基于块的方法制作动画。
我尝试寻找任何一种示例,它会给我一个提示,使用基于块的方法获得我需要的缩放效果,但我找不到任何...
如果有人能帮我解决这个问题会很棒......
答案 0 :(得分:1)
我想通了......
显然“缩放”只是一个名字,并没有做任何事情(就我实验而言)
以下是使用基于块的方法的animate实现效果的方法......
[UIView animateWithDuration:0.8 animations:^ { popContents.view.frame = CGRectMake(160, 70, 350, 350);
[self.view.superview bringSubviewToFront:self.view];
[self.view.superview addSubview:popContents.view]; }
completion: ^(BOOL finished) {
NSLog(@"DONE");
}
];
现在只有一个问题,我无法弄明白......
这是编辑过的代码 -
[UIView transitionWithView:self.view duration:1
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^
{
popContents.view.frame = CGRectMake(160, 70, 350, 350);
[self.view.superview bringSubviewToFront:self.view];
[self.view.superview addSubview:popContents.view];
}
completion: ^(BOOL finished)
{
NSLog(@"DONE");
}];
所以这里发生的是,当popContents视图缩放到位置时,表视图会旋转。我明白这是因为我给了transitionWithView:self.view
但是,我怎样才能将此效果添加到popContents视图(缩放到位置的视图)......是否可能?
我尝试了transitionWithView:popContents.view
,但这似乎对缩放动画没有任何额外的影响。
有人能告诉我我做错了吗?