Aggiungi un ulteriore riga "nascosta" alla sezione a cui si desidera aggiungere il separatore restituendo +1
il numero esistente di righe in tableView:numberOfRowsInSection:
. Quindi aggiungere il seguente metodo:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == sectionOfHiddenRow && indexPath.row == indexOfHiddenRow)
return 0.f;
else
return [super tableView:tableView heightForRowAtIndexPath:indexPath];
}
Se si desidera che il separatore nella parte superiore di una sezione (dopo un colpo di testa), indexOfHiddenRow
sarà 0
. Se lo vuoi in fondo a una sezione (prima di un piè di pagina) sarà [self tableView:tableView numberOfRowsInSection:sectionOfHiddenRow] - 1
.
Ora all'interno di tableView:cellForRowAtIndexPath:
, è sufficiente restituire [UITableViewCell new]
per la riga nascosta (non verrà visualizzato, quindi non è necessario impostare una cornice o altro). Potrebbe essere necessario effettuare alcune rettifiche dell'indice -1
nei metodi UITableViewDataSource
e UITableViewDelegate
, ma funziona (testato in iOS 7), e garantisce uno stile coerente (non è necessario disegnare il proprio separatore "falso" - questo è un vero sistema- disegnato separatore UITableView
).
Passare allo stile raggruppato ha fatto il trucco. –
Come passare allo stile raggruppato? – Imran
posso rimuovere/diminuire l'altezza del separatore? – Nil