2012-11-11 61 views
6

如何为UIImageView更改简单的位置。可以说当前坐标是x:20和y:30我想将它移动到x:100和y:100。更改UIImageView的位置

是否可以做动画动画?

回答

30

您需要更改UIImageView的CGFrame像这样 -

[imageView setFrame:CGRectMake(100, 100, imageView.frame.size.width, imageView.frame.size.height)];

这改变了uiimageview poistion到(100, 100)同时保持高度和宽度相同。请注意,您可以使用上述代码不仅更改(x,y)的位置,还更改视图的大小。使用下面的代码,你可以制作动画太:)

如果你想动画的位置变化 -

[UIView animateWithDuration:0.35 
         delay:0.0 
        options: UIViewAnimationCurveEaseOut 
       animations:^{ 
        [imageView setFrame:CGRectMake(100, 100, imageView.frame.size.width, imageView.frame.size.height)]; 
       } 
       completion:^(BOOL finished){ 
        NSLog(@"Done!"); 
       }]; 
+0

当我尝试你的代码(动画版),我得到这个错误 发送'int'用于CGFrameMake行的不兼容类型'CGRect'(又名'struct CGRect')的参数。你知道也许是为什么? – bla0009

+0

对不起'CGRectMake'而不是'CGFrameMake'。错字!更新了上面的代码...再试一次。 –

+0

这是完美的。你只会缺少一个支架。我现在将其添加...投票完美答案! – bla0009

0
self.psView.frame = CGRectMake(self.wvView.frame.origin.x, self.wvView.frame.origin.y, self.psView.frame.size.width, self.psView.frame.size.height); 
+3

欢迎来到Stack Overflow!尽管这段代码可以解决这个问题,但[包括一个解释](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高您的帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要使用解释性注释来挤占代码,因为这会降低代码和解释的可读性! – FrankerZ