【发布时间】:2014-11-15 08:04:20
【问题描述】:
我在控制器上定义了一个名为 FirstView 的视图。我的 -(void)move 方法中有这个:
-(void)move
{
head = CGPointMake(head.center.x + X, head.center.y + Y);
}
我已经在我的 .h 文件中将 X 和 Y 定义为整数,并将“head”定义为 UIImage。对于上面的代码行,我在 UIImage * 类型的对象上找不到错误“属性中心”。有什么方法可以将其更改或转换为 UIImageView 吗?我想要 UIImage 因为我在我定义的视图上做动画和绘制图像。 Quartzcore 只允许 UIImage 而不允许 UIImageView。那么,我在这里缺少什么?
【问题讨论】:
-
A UIImage 没有中心,因为它不是视图。 UIImageView 有一个中心。这是绘制 UIImage 对象的视图。
-
对,那我怎么改呢?就像我说的,我想使用 Quartzcore 在我的视图上绘制一些东西。我已经使用 UIImage 做到了。
-
如果你想用 Quartz (Core Graphics) 绘图,你需要使用 CGImageRef,创建和上下文,移动,...并使用 C 函数:CGContextDrawImage (CGContextRef c, CGRect rect, CGImageRef image)
-
哦。我画了这样的东西:CGPoint imgPt = CGPointMake(-1, 0); [图像绘制点:imgPt];我描述的错误与 drawAtPoint 和 drawRect
-
UIImage不是UIView的子集,因此它没有这样的属性。您不能只是将其“重新转换”为UIImageView,您必须实例化一个UIImageView对象属性。
标签: ios iphone uiimageview uiimage quartz-core