Pergunta

Dependendo do resultado de uma condição, eu quero exibir um UIImageView em uma célula da tabela. Caso contrário exibir UITableViewCellAccessoryCheckmark. Eu gostaria de construir a célula do IB. A parte que eu não tenho certeza do que fazer com o UIImageView quando eu não quero que ele exibida. Se eu estivesse construindo tudo isso por meio de programação, eu adicionar o UIImageView conforme necessário. Mas uma vez que será feito em IB, o UIImageView está sempre lá. Caso o padrão seja sair da cela sozinho (imagem é exibida), caso contrário remover UIImageView e exibir UITableViewCellAccessoryCheckmark? Se isso for feito, vou precisar de uma tag em UIImageView para que ele possa ser acessado e removido?

Foi útil?

Solução

Você pode facilmente controlar a visibilidade de qualquer controle, incluindo UIImageView. Se você gostaria de construir coisas em IB, em seguida, uma solução é adicionar os controles que você precisa, expô-los como propriedades, e depois esconder os que você não quer para uma determinada célula.

por exemplo.

cell.image.hidden = YES;

Quando escondida eles não têm desenhar-sobrecarga, e embora o seu celular pode ter milhares de linhas haverá muito poucas células reais, por isso é uma solução bastante eficiente. Basta lembrar que as células são reutilizados se você chamar [tableView dequeueReusableCellWithIdentifier] (que você deve fazer), assim você terá que mostrar explicitamente / esconder controle cuja visibilidade pode ter sido alterado.

Uma alternativa é ter células com e sem imagens e escolher o correto ao adicionar dados à sua mesa. Para as células que estão a gerir semelhante dois ativos semelhante-ainda-minorly-diferentes provavelmente seria uma dor embora.

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