我在UITableViewCell子类中使用drawRect:
来进行滚动时的渲染性能;单元格(文本和图形)上的所有内容都在drawRect:
中呈现。在新iPad的视网膜显示屏上,细胞看起来非常模糊。
为了进行比较,这里是一个屏幕截图,显示了两个单元格(在顶部)和另一个同样大小的图像在底部。底部图像和细胞质量之间的差异很明显。
这是在物理设备上,而不是模拟器上。我已经确认我正在使用的UIImage
个实例的比例为2
;用户的头像图像是从网上加载的,所以这不是@2x
后缀的问题。 “Awesome”图像是从主捆绑中加载的相同资产。此外,文本本身也很模糊。
我尝试过不同的抗锯齿选项。我也尝试将我的视图的contentScaleFactor
和我的视图图层的contentScale
设置为[[UIScreen mainScreen] scale]
,但它也没有帮助。
有什么建议吗?
以下是负责呈现用户头像的drawRect:
方法的片段。 _avatar
是一个实例变量,而addRoundedRectToPath()
只是将上下文路径中5个点的角半径剪切掉。
{
CGContextSaveGState(context);
addRoundedRectToPath(context, avatarFrame, 5, 5);
CGContextClip(context);
[_avatar drawInRect:avatarFrame];
CGContextRestoreGState(context);
}
评论的文本以类似的方式呈现:
[[UIColor whiteColor] set];
[_body drawInRect:textRect withFont:kPXCompositePhotoCommentCellBodyFont];
我正在使用Xcode 4.3.2使用5.1基本SDK部署到iOS 5.0。
答案 0 :(得分:4)
您是否将视图的图层设置为要光栅化?这是一个选择性的东西,有时它被用作加速电池性能的技巧。但不正确地使用它会导致难看的层次。