Il modo migliore (qualsiasi) combina l'intestazione della sezione uitableview in cima a una vista tabella raggruppata

StackOverflow https://stackoverflow.com/questions/1016102

  •  06-07-2019
  •  | 
  •  

Domanda

Vorrei aggiungere le intestazioni di sezione alle sezioni della vista della mia tabella raggruppata, ma vorrei che risultassero senza soluzione di continuità (vedi immagine). L'impostazione predefinita, come tutti ben sappiamo, sono gli angoli superiori arrotondati sulla prima riga di una cella di visualizzazione tabella raggruppata in modo che finisca per sembrare una schifezza quando li unisci.

Qualsiasi modo per specificare quando indexPath.row = 0 che UITableViewCell dovrebbe usare lo stile di riga " middle " o qualcosa del genere?

In caso contrario, quali sono le mie opzioni? Immagino di poter graffiare l'intestazione della sezione e utilizzare la riga 0 come quasi-header, quindi spingere i miei dati dell'array +1 per riempire il resto della tabella? Preferirei non rotolarmi da zero ... se possibile.

Tabella di esempio http://img35.imageshack.us/img35/8181/sampletable .png

Modifica:

" Crap " assomiglia a questo:

alt text http://img25.imageshack.us/img25/9748/crapsection .png

È stato utile?

Soluzione

  1. Non fare quello che stai facendo, è contro HIG

  2. Ok, ok, ti ??dirò come farlo:

Ti consigliamo di creare le tue viste di sfondo della cella. Quello raggruppato predefinito non è quello che desideri.

Quando una vista da tavolo ti chiede una cella, imposta il suo backgroundView e selectedBackgroundView su qualcosa che sembra appropriato per il suo posto nella vista da tavolo.

Di solito, questo significa UIImageView con l'immagine appropriata, anche se puoi andare selvaggio qui con una vista personalizzata, ma ci sono gotchas.

Quindi, nel tuo caso, lo faresti

if (indexPath.row > sectionRowCount - 1) {
    //Not the last row
    //Put in the middle background
} else {
    //Put in the end background
}

Quindi vorrai un'intestazione di sezione di tabella personalizzata, ma è abbastanza facile.

Nel tuo caso, probabilmente non dovrai preoccuparti quando c'è solo una riga, in modo da rendere le cose ancora più facili.

Altri suggerimenti

Dai un'occhiata al tutorial qui: cacao con amore praticamente ciò di cui hai bisogno sono 3 diverse immagini. Uno per la riga superiore, uno per la parte inferiore e un terzo per la riga centrale.

Non puoi anche usare l'intestazione della sezione, ma invece usare una cella personalizzata come prima cella della sezione. Pertanto, quando ([indexPath row] == 0), restituisce una cella personalizzata che è l'intestazione " " e quindi restituire il "normale" celle (scostate di una riga) per il resto. Dovrai anche apportare modifiche alla funzione numberOfRowsInSection per restituire +1.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top