Быстрая прокрутка ячеек таблицы с изображениями.Вот как это делается?
-
05-07-2019 - |
Вопрос
Я пытаюсь создать список с быстрой прокруткой, используя создателя Tweetie Лорена Брихтера. техника (или эта техника).Я считаю, что идея состоит в том, чтобы «сделать свой собственный рисунок» вместо использования подпредставлений и изображений в UITableViewCell.
Ниже я расширил его пример, включив в него изображение, и я не уверен, правильно ли это сделать?
Я пытался поиграть с CALayer и изо всех сил пытаюсь «понять это».Итак, в этом примере я просто нарисовал изображение.Но я не уверен – это похоже на то, как изображение отображается в представлении?Далее я буду использовать UIGraphicsBeginImageContext, чтобы включить больше изображений (например,изображение нижнего колонтитула)
Повысит ли то, что я делаю в этом примере, производительность по сравнению с созданием всего этого в IB?
Спасибо
- (void)drawContentView:(CGRect)r
{
CGContextRef context = UIGraphicsGetCurrentContext();
UIColor *backgroundColor = [UIColor whiteColor];
UIColor *textColor = [UIColor blackColor];
if(self.selected)
{
backgroundColor = [UIColor clearColor];
textColor = [UIColor whiteColor];
}
[backgroundColor set];
CGContextFillRect(context, r);
// This is where I add the image to the example
//
CGRect profile = CGRectMake(0, 0, 320, 20);
[headerImage drawInRect:profile];
CGPoint p;
p.x = 12;
p.y = 9;
[textColor set];
CGSize s = [firstText drawAtPoint:p withFont:firstTextFont];
p.x += s.width + 6; // space between words
[lastText drawAtPoint:p withFont:lastTextFont];
}
Решение
Да, этот метод улучшит производительность по сравнению с прямой ячейкой IB.Но если вы сделаете все элементы ячейки непрозрачными, производительность IB может быть довольно приличной — возможно, вы захотите сначала попробовать это, прежде чем приступить к написанию большого количества кода для создания простых ячеек.