在iOS中旋转UIImageView

时间:2012-11-17 20:25:13

标签: xcode rotation uiimage cgaffinetransform

我对iOS编程比较陌生,并希望我的第一个项目包括一个带旋转针的仪表。所以这就是我做的......

  • 创建了一个新的基于单一视图的项目。
  • 将UIImageView拖到界面生成器的中心,并添加了我的针头图像。
  • 为我的图片创建了IBOutlet并将其编入名为imgNeedle
  • 的头文件中
  • 在实现文件中创建以下方法并在NSTimer上运行:
-(void) rotateNeedle {
    degrees++;         
    radians = degrees / 57.2958;

    [self.imgNeedle setTransform: CGAffineTransformMakeRotation(radians)];
}

针确实会旋转,但它不在静止点附近。这有点难以解释,但似乎图像锚定在左上角?如果我没有很好地解释这个问题,那么将一个快速项目拼凑起来可能是值得的! :)

但是,如果我在运行时创建UIImageView,请将以下代码放在viewDidLoad方法中的NSTimer之前:

UIImageView *Needle = [[UIImageView alloc]initWithFrame:CGRectMake(100, 300, 100, 10)];

self.imgNeedle = Needle;

self.imgNeedle.image = [UIImage imageNamed:@"needle.jpg"];
[self.view addSubview:self.imgNeedle];

然后它表现我喜欢它,围绕一个中心固定点旋转。

非常欢迎任何建议,谢谢!

0 个答案:

没有答案