0

我有带有圆角图像视图的自定义表格视图单元格。我的 drawRect: 代码看起来像:

- (void)drawRect:(CGRect)rect
{
    [super drawRect:rect];
    _thumbnailImage.layer.cornerRadius = 5.0f;
    _thumbnailImage.layer.masksToBounds = YES;
    _thumbnailImage.layer.shouldRasterize = YES;
    _thumbnailImage.layer.rasterizationScale = [[UIScreen mainScreen] scale];
}

但它的性能是可怕的。这段代码我有大约 40fps 的速度,并且表格视图看起来非常不稳定。如果我删除 2 行:

- (void)drawRect:(CGRect)rect
{
    [super drawRect:rect];
    _thumbnailImage.layer.shouldRasterize = YES;
    _thumbnailImage.layer.rasterizationScale = [[UIScreen mainScreen] scale];
}

我的表格视图显示 60fps 并且滚动非常流畅。我知道我做错了什么,因为 Twitter 和其他应用程序都有圆角和平滑滚动。请帮帮我。)

4

2 回答 2

0

您不应该在drawRect. 尝试在其他地方这样做一次。

于 2013-07-07T12:09:47.720 回答
0

我的解决方案是在 UITableViewCells 中使用图像之前,既不为 UImageView 制作圆角,也为 UIImage 制作圆角。现在我的卷轴 fps 为 50+,看起来非常流畅。

于 2013-07-28T16:14:43.743 回答