Я использую drawRect:
в моем подклассе UITableViewCell для производительности рендеринга при прокрутке; все в ячейке (текст и графика) отображается в drawRect:
. На сетчатке нового iPad эта ячейка выглядит очень размытой.
Для сравнения приведен скриншот с ячейками (вверху) и другим изображением одинакового размера внизу. Разница между качеством нижнего изображения и клеток очевидна.
Это на физическом устройстве, а не на симуляторе. Я убедился, что используемые мной экземпляры UIImage
имеют шкалу 2
; изображения аватара пользователя загружаются из Интернета, поэтому проблема не в суффиксе @2x
. Образ «Awesome» - это тот же актив, загруженный из основного комплекта. Кроме того, сам текст размыт.
Я пробовал разные варианты сглаживания безрезультатно. Я также попытался установить contentScaleFactor
моего вида и contentScale
слоя моего вида на [[UIScreen mainScreen] scale]
, но это тоже не помогает.
Есть предложения?
Edit:
Вот фрагмент метода 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];
Я развертываю на iOS 5.0 с базовым SDK 5.1, используя Xcode 4.3.2.