我有AlertView
imageView
,我必须以翻转动画(UIViewAnimationTransitionFlipFromLeft
/ Right
)显示图片作为警告的subview
图
我使用以下方法
- (void) setAnimationFlip:(UIAlertView*)alertView {
UIView *containerView = [[UIView alloc]initWithFrame:CGRectMake(20, 40, 150, 150)];
UIImageView *mainView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"scene1.jpg"]];
UIImageView *flipToView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"scene2.jpg"]];
mainView.frame = CGRectMake(20, 40, 200, 210);
flipToView.frame = CGRectMake(20, 40, 200, 210);
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
[UIView setAnimationTransition:([mainView superview] ?
UIViewAnimationTransitionFlipFromLeft : UIViewAnimationTransitionFlipFromRight)
forView:containerView cache:YES];
if ([flipToView superview])
{
[flipToView removeFromSuperview];
[containerView addSubview:mainView];
}
else
{
[mainView removeFromSuperview];
[containerView addSubview:flipToView];
}
[self.alrtViewPreview addSubview:containerView];
[self.alrtViewPreview show];
[UIView commitAnimations];
//[containerView release];
//[mainView release];
//[flipToView release];
}
并且呼叫......
switch (iEffect) {
case 1:
[self setAnimationFlip:alrtViewPreview];
break;
}
但它不适合我,任何人都可以帮助我吗?
答案 0 :(得分:0)
-(IBAction)btnClick:(UIButton*)sender {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:sender cache:YES];
[UIView setAnimationDelegate:self];
[sender setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@",self.tileImage]] forState:UIControlStateNormal];
[sender setTitle:self.tileText forState:UIControlStateNormal];
[UIView commitAnimations];
}