gpt4 book ai didi

iphone - drawRect 没有被 UIImageView 调用

转载 作者:可可西里 更新时间:2023-11-01 05:00:58 24 4
gpt4 key购买 nike

我的 IB 中有一个 UIImageView,我用一种方法 drawRect 创建了 UIImageView 的子类:

@implementation UIImageViewLine

- (void)drawRect:(CGRect)rect
{
NSLog(@"CALLED");
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGContextSetLineWidth(context, 1.0f);
CGContextMoveToPoint(context, 0, 0);
CGContextAddLineToPoint(context, self.frame.size.width, self.frame.size.height);
CGContextStrokePath(context);

}

@end

我已经将 UIImageView 的类更改为这个子类,但是从未调用过 drawRect。知道为什么吗?

最佳答案

UIImageView 在子类化时不调用 drawRect

来自documentation :

The UIImageView class is optimized to draw its images to the display. UIImageView will not call drawRect: a subclass. If your subclass needs custom drawing code, it is recommended you use UIView as the base class.

您可以简单地将 UIImageView 替换为普通的 UIView 并在 UIView 中绘制图像和您的自定义绘图drawRect 方法或在子层中。

关于iphone - drawRect 没有被 UIImageView 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com