Como exibir conteúdo de células em uma exibição de tabela em seu aplicativo ios

Pode chegar um momento em que você precisa para exibir o conteúdo da célula em seu aplicativo iOS. Para exibir o conteúdo da célula, o delegado é enviado ao tableView: cellForRowAtIndexPath

mensagem. Adicionar este método para DestinationController.m.

- (UITableViewCell *) tableView: (UITableView *) tableViewcellForRowAtIndexPath: (NSIndexPath *) indexPath {NSString estática * CellIdentifier = @"DestinationCell"-UITableViewCell * célula = [tableViewdequeueReusableCellWithIdentifier: CellIdentifier] -NSDictionary * destinationData = self.destinationsArray [indexPath.row] -NSAttributedString * attributedString = [[NSAttributedString alloc] initWithString: destinationData [@"destinationName"] Atributos: @ {NSFontAttributeName: [UIFontsystemFontOfSize: 17.0f], NSForegroundColorAttributeName: [UIColorwhiteColor]}] - cell.textLabel.attributedText = attributedString-retorno cell-}

Você vê que uma das primeiras coisas que você faz é determinar se quaisquer células que podem ser utilizados são em torno de mentir. Você pode se lembrar que, apesar de uma exibição de tabela pode apresentar algumas linhas de cada vez na tela do iPad, a própria tabela pode conseguir prender muito mais.

Uma grande mesa pode comer um monte de memória, no entanto, se você criar células para cada linha. Felizmente, vistas de tabela são projetados para reuso células. Como as células de uma vista de tabela rolar para fora da tela, eles são colocados em uma fila de células disponíveis para serem reutilizados.

Se o sistema é executado com pouca memória, a visão de mesa se livrar das células na fila, mas contanto que ele tem alguma memória disponível para eles, ele mantém-se a eles no caso de você querer usá-los novamente.

Você cria uma string para usar como um identificador da célula para indicar o tipo de célula que você está usando:

estática NSString * CellIdentifier = @"DestinationCell"-

É fundamental que a CellIdentifier e a identificador Campo da célula Protótipo no Passo 18 são a mesma. Se não forem, você não terá a célula protótipo transparente especificado no storyboard.

exibições de tabela suportar vários tipos de células, o que torna o identificador necessário. Neste caso, você precisa de apenas um tipo de célula, mas às vezes você pode querer mais do que um para acomodar células com diferentes layouts e formatos. Por exemplo, se apenas algumas células deve ter um triângulo, você provavelmente usar dois protótipos - uma com e outra sem o triângulo.

Você pergunta o ponto de vista da tabela para um objeto de célula reutilizável específico enviando-lhe um dequeueReusableCellWithIdentifier: mensagem:

UITableViewCell * célula = [tableView dequeueReusableCellWithIdentifier: CellIdentifier] -

Isso determina se as células do tipo que você deseja estão disponíveis. Se há células são em torno de mentir, esse método irá criar uma célula utilizando o identificador de célula que você especificou. agora você tem uma vista célula de tabela que você pode voltar para a exibição de tabela.

Você tem várias opções sobre como formatar a célula Table View. Embora você vai estar usando UITableViewCellStyleDefault, você pode escolher entre uma série de estilos diferentes, listados a seguir (as palavras-chave no menu pop-up Estilo na guia Atributos de Interface Builder são mostrados entre parênteses):



  • UITableViewCellStyleDefault: Dá-lhe uma célula simples com um rótulo de texto (preto e esquerda; alinhados) e uma vista Imagem opcional. [Básico]

  • UITableViewCellStyleValue1: Dá-lhe uma célula com uma esquerda; alinhados rótulo de texto preto no lado esquerdo da célula e um direito; rótulo de texto alinhado com menor texto cinza no lado direito. (O aplicativo Configurações usa este estilo de célula.) [Detalhe Direita]

  • UITableViewCellStyleValue2: Dá-lhe uma célula com um direito; alinhados etiqueta azul do texto no lado esquerdo da célula e à esquerda; alinhados rótulo de texto preto no lado direito da célula. [Detalhe Esquerda]

  • UITableViewCellStyleSubtitle: Dá-lhe uma célula com uma esquerda; rótulo de texto alinhado na parte superior e uma esquerda; rótulo de texto alinhado abaixo dela no texto menor cinza. (O aplicativo de música utiliza células neste estilo.) [Legenda]

Video: Como Descobrir e Remover Vírus do Seu Telefone Android ou iPhone

Com a formatação fora do caminho, você, em seguida, definir as propriedades de etiqueta que você está interessado.

Você arrancar o nome para cada destino que você armazenou, acessando o destinationName em cada dicionário Destino. Você fazer isso acessando o dicionário na (salvo) destinationsArray correspondente para as secções e em fileira indexPath, que contém as informações seção e linha em um único objeto.

Video: Como LIBERAR MEMÓRIA e OTIMIZAR o iOS - iCleaner (iPhone, iPad e iPod Touch)

Para obter a linha ou seção fora de um NSIndexPath, você só tem que invocar o seu método secção (indexPath.section) Ou o seu método de fileira (indexPath.row), cada um dos quais uma retorna int:

NSDictionary * destinationData = destinationsArray [indexPath.row] -

Em seguida, crie uma string atribuído, que pode gerenciar tanto as cadeias de caracteres e atributos como fontes, cores e até mesmo kerning:

NSAttributedString * attributedString = [[NSAttributedString alloc] initWithString: destinationData [@"Destino&# X200B-Name"] Atributos: @ {NSFontAttributeName: [UIFont systemFontOfSize: 17.0f], NSForegroundColorAttributeName: [UIColor whiteColor]}] -

Agora, usar essa seqüência atribuída a formatar rótulo de texto da célula:

cell.textLabel.attributedText = attributedString-

Finalmente, o retorno da célula formatado com o texto que precisa para exibir nessa linha:

voltar cell-

Publicações relacionadas