在 drawRect 上添加覆盖图像
Posted
技术标签:
【中文标题】在 drawRect 上添加覆盖图像【英文标题】:Add overlay image on top of drawRect 【发布时间】:2013-05-12 17:05:24 【问题描述】:我有一个 UIView 子类,我在 drawRect 方法中绘图。
如何在 drawRect 目标层之上添加叠加图像?
我在initWithFrame
方法中添加以下内容:
//add the image overlay
UIImageView *overlageImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"downloaderFront.png"]];
overlageImage.center = self.center;
[self.layer addSublayer:overlageImage.layer];
//replacing the above line with below line does not fix either
[self addSubview:overlageImage];
此图像在 drawRect 绘图的顶部不可见。
【问题讨论】:
【参考方案1】:层的东西肯定是错的。只需这样做:
UIImageView *overlageImage =
[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"downloaderFront.png"]];
[self addSubview:overlageImage];
你可以玩overlageImage
的框架,得到你想要的位置。
至于您的实际问题:设置断点。我怀疑您会发现您的代码甚至从未运行(因为您的视图的 initWithFrame
从未被调用)。这只是一个猜测——你没有说这个 UIView 子类实例是如何进入界面的——但这是一个很常见的错误,人们应该总是首先怀疑明显的错误!
【讨论】:
我正在这样做,它不起作用。 drawRect 在视图上呈现。 好的,很好的信息。但是你应该在你原来的问题中这么说。 那么为什么不将覆盖的图像绘制为 drawRect 的 part 呢? 顺便说一句,我认为您在这里遇到困难这一事实表明其他问题存在问题。正确编写的drawRect
不会绘制在子视图之上!但是,您最初的问题没有提供任何信息来推断可能出现的问题。再次怀疑显而易见的事情:也许您正在第一个视图之上添加另一个视图副本。以上是关于在 drawRect 上添加覆盖图像的主要内容,如果未能解决你的问题,请参考以下文章