我想用动画将imageview放在不同的位置 [英] i wan to place imageview at different position with animation

查看:56
本文介绍了我想用动画将imageview放在不同的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在不同的位置设置多个图像这是我的代码,任何人都可以帮我在不同的位置设置imageview。

i am trying to set multiple image on different position this is my code anyone help me to set imageview on different position.

- (void)viewDidLoad 
{   

    [super viewDidLoad];

 frameX = 45.0f;

    frameY = 60.0f;

    imagearr = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"King2.png"],
                [UIImage imageNamed:@"3.png"],[UIImage imageNamed:@"queen.png"],
                [UIImage imageNamed:@"King.png"],nil]; 

}
-(IBAction)hidebtn:(id)sender
{

  [btn setHidden:TRUE]; 
    [self setCards];

}

-(void)setCards
{

CGFloat dx = self.view.frame.size.width/2;

    CGFloat dy = self.view.frame.size.height/2;


    [cards setAnimationImages:imagearr];

    CGRect frame = cards.frame;
    frame.size.width = frameX;
    frame.size.height = frameY;
    [cards setFrame:frame];
    cards.animationRepeatCount = 1;
   for (int i=0; i<5;i++) 
   {

[UIView beginAnimations:@"Move" context:nil];

[UIView setAnimationDuration:0.3];

       switch (i) 
       {
           - (void)viewDidLoad 
{   

    [super viewDidLoad];
    frameX = 45.0f;
    frameY = 60.0f;

    imagearr = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"King2.png"],
                [UIImage imageNamed:@"3.png"],[UIImage imageNamed:@"queen.png"],
                [UIImage imageNamed:@"King.png"],nil]; 

}
-(IBAction)hidebtn:(id)sender
{
    [btn setHidden:TRUE];   
    [self setCards];
}

-(void)setCards
{
    CGFloat dx = self.view.frame.size.width/2;
    CGFloat dy = self.view.frame.size.height/2;


    [cards setAnimationImages:imagearr];

    CGRect frame = cards.frame;
    frame.size.width = frameX;
    frame.size.height = frameY;
    [cards setFrame:frame];
    cards.animationRepeatCount = 1;

  for (int i=0; i<5;i++) 
   {

       [UIView beginAnimations:@"Move" context:nil];
       [UIView setAnimationDuration:0.3];
       switch (i) 
       {
           case 0:
                 [cards setCenter:CGPointMake(dx, dy-120.0)];
                 cards.transform = CGAffineTransformMakeRotation(0);  
                 break;
           default:
               break;
       }
       [self.view addSubview:cards];
       [UIView commitAnimations];

   }


                   default:
               break;
       }
       [self.view addSubview:cards];
       [UIView commitAnimations];

   }


推荐答案

你是添加子视图太晚了,你无法动画屏幕上没有的内容。在开始某个位置的动画之前添加它们,然后设置为目标位置的动画。

You are adding subviews too late, you can't animate what is not on screen. Add them before you start animations on some position then animate to the target position.

这篇关于我想用动画将imageview放在不同的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆