2013-03-15 77 views
0

我试图动画子视图的框架,但它不工作:不能动画子视图的框架

[UIView animateWithDuration:0.5 
        animations:^{ 
        NSLog(@"BIIIM %@", [_subView subviews]); 
        UIImageView *imageView1 = (UIImageView *)[self.view viewWithTag:(1)];{ 
          imageView1.frame = CGRectMake(76.8 , -100, 33.4, 164); 
          imageView1.alpha = 0.5; 
                   } 

为阿尔法的动画工作得很好,但一个框架是不是...任何想法? 谢谢!

回答

0

我做了一个简单的测试如下,并发现它工作正常。 alpha和frame都会改变。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)]; 
    imageView1.backgroundColor = [UIColor redColor]; 
    [self.view addSubview:imageView1]; 

    [UIView animateWithDuration:2 animations:^{ 
     imageView1.frame = CGRectMake(20, 20, 100, 100); 
     imageView1.alpha = 0.5; 
    }]; 

} 
+0

谢谢你的回答。这个问题与动画没有多大关系,因为即使我试图在没有动画的情况下更改imageView1的框架,它也不起作用......但是alpha可以工作。 :( – Carapuce 2013-03-15 00:41:59

+0

嗨,做了一个简单的测试如下,并找到它工作正常的α和帧变化都 - (无效)viewDidLoad中 { [超级viewDidLoad中]; \t 的UIImageView * imageView1 = [[的UIImageView ALLOC] initWithFrame:方法CGRectMake(0,0,30,30)]; imageView1.backgroundColor = [的UIColor redColor]; [self.view addSubview:imageView1]; [UIView的animateWithDuration:2个动画:^ { imageView1 .frame = CGRectMake(20,20,100,100); imageView1.alpha = 0.5; }]; } – 2013-03-15 00:53:55

+0

非常感谢流觞_iviedsky! 我认为问题更多的是我的超级观点不让我的子视图移动或类似的东西。我无法弄清楚为什么。 – Carapuce 2013-03-15 01:16:06