Pergunta

Eu estou tentar criar uma lista rápida de rolagem usando o criador do Tweetie, de Loren Brichter técnica (ou esta técnica ). Eu acredito que a idéia é "fazer o seu próprio desenho" em vez de usar usando subviews e imagens na UITableViewCell.

Abaixo tenho estender o seu exemplo para incluir uma imagem e eu não tenho certeza se esta é a maneira correta de fazê-lo?

Eu tenho tentado a brincar com CALayer e estou lutando para 'entrar'. Então, aqui, neste exemplo, eu simplesmente tirado uma imagem. Mas não estou certo - este parece ser o mesmo que como uma imagem é exibida em uma visão? Em seguida vou usar UIGraphicsBeginImageContext para incluir mais imagens (por exemplo footerImage)

É o que eu estou fazendo neste exemplo vai melhorar o desempenho sobre a criação de tudo em IB?

Graças

- (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];
}
Foi útil?

Solução

Sim, esta técnica irá melhorar o desempenho sobre uma célula IB reta. Mas se você fizer todos os elementos de uma opaca celular, o desempenho do IB pode ser bastante decente -. Você pode querer tentar isso primeiro antes de ir para o caminho de um monte de código para criar o que são células de outra forma simples

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top