2

我想要一个每次按下按钮时都会移动的图像。它应该每次移动一组像素值。

我希望 image1 现在有一个位置属性,但据我所见,它没有。

  UIImageView *image1=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"indicator"]];
  [self.view addSubview:image1];
...

谢谢

编辑:UIImageView *image1=[[UIImageView alloc]...

4

3 回答 3

10

正如其他两个答案所述,您可以使用框架(或 CGRect)设置 UIImageView 的初始位置。请注意,CGRectMake 的参数是;x 位置,y 位置,x 尺寸,y 尺寸。

UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)];
[imgView setImage:[UIImage imageNamed:"image.png"]];

要在每次按下按钮时移动图像,每次按下按钮时都需要更新帧。但是,框架的 x 和 y 坐标是只读的,因此您需要像这样创建一个新框架:

CGRect oldFrame = imgView.frame;
CGRect newFrame = CGRectMake(oldFrame.origin.x + 10, oldFrame.origin.y, oldFrame.size.width, oldFrame.size.height);
imgView.frame = newFrame;

请注意,此代码将图像向右移动 10 个点(沿 x 轴)。

于 2012-07-23T11:14:42.657 回答
2

你需要一个 imageview 来显示一个 UIImage。

UIImage *image1=[UIImage imageNamed:@"indicator.png"];

UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(10,10,100,100)];
iv.image = image1;
[self.view addSubView:iv];
[image1 release];
[iv release];
于 2012-07-23T10:57:06.283 回答
0

您可以设置 UIImageView 的框架:

UIImageView* imgv= [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 120, 120)];
imgv.image = [UIImage imageNamed:@"image.png"];

在这里,您必须通过反复试验来设置框架的位置。

于 2012-07-23T11:01:53.267 回答