【问题标题】:change position of the UIImageView改变 UIImageView 的位置
【发布时间】:2012-10-31 06:22:29
【问题描述】:

如何为 UIImageView 进行简单的位置更改。假设当前坐标是 x: 20 和 y:30

我想把它移到 x:100 和 y:100。

可以做运动动画吗?

【问题讨论】:

标签: objective-c ios xcode animation uiimageview


【解决方案1】:

你需要改变那个UIImageView的CGFrame像这样 -

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

这会将uiimageview 位置更改为(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!");
                 }];

【讨论】:

  • 我在尝试您的代码(动画版)时收到此错误。你知道为什么吗?
  • 抱歉是CGRectMake 不是CGFrameMake。错字!!!也更新了上面的代码...现在再试一次。
  • 这是完美的。你只缺少一个括号。我现在就添加它...投票选出完美答案!
  • 谢谢,很高兴为您提供帮助!我输入了代码。我想我已经变得过于依赖 Xcode 的语法补全了;)
  • 如果@SrikarAppalaraju - 或其他任何人仍在观看:我希望图像通过按下按钮移动。它确实如此——但它正在离开“旧”形象。添加了一个 [self.myImage setNeedsDisplay]; - 但没有运气。有什么建议?我之所以使用它,是因为我首先在适当的位置创建了 10 个单独的图像视图,并使用 HIDDEN= NO 和 YES 来打开和关闭它们。适用于情节提要创建的图像视图,但不适用于程序化的 obj-c。
【解决方案2】:
self.psView.frame = CGRectMake(self.wvView.frame.origin.x, self.wvView.frame.origin.y, self.psView.frame.size.width, self.psView.frame.size.height);

【讨论】:

  • 欢迎来到 Stack Overflow!虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您正在为将来的读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性 cmets 挤满你的代码,因为这会降低代码和解释的可读性!
猜你喜欢
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多