我有一个继承自UIView
的自定义视图。
在这个视图中,有一个图像始终是相同的,我只想绘制它。
但是,为了绘制图像,我必须在每次绘制周期运行时调用drawInRect
。
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
[image drawInRect:self.bounds];
// drawing....
}
有没有办法显示图片,而不是每次调用drawRect
时都调用此方法?
谢谢。
答案 0 :(得分:2)
将图片放在自定义UIImageView
下面的UIView
下,而不是在drawRect:
中绘制。制作自定义视图的背景颜色clearColor
,以便图片显示drawRect:
无法绘制任何内容的位置。
请勿尝试将图片视图设为自定义视图的子视图。子视图总是在其superview的内容之上。您可以将自定义视图设置为图像视图的子视图,也可以使它们成为兄弟姐妹。
答案 1 :(得分:-1)
在自定义类的.h文件中执行以下操作:
- (void) setup:
然后在.m中执行此操作:
-(void) setup {
//drawing stuff
}
然后在视图中加载任何将其添加为子视图的视图控制器
[myCustomView setup];