2015-06-26 14 views
14

Sto lavorando su personalizzato UITableViewCell dove voglio aggiungere UITableView all'interno UITableViewCell quindi non v'è alcun controller disponibile a fare lo stessoaggiungendo UITableView all'interno UITableViewCell

Questa è l'immagine di ciò che voglio aggiungere nel mio progetto

enter image description here

Questo è espandibile UITableView dove dopo aver fatto clic sulla prima riga all'interno della tabella e si espandono i pulsanti.

Quindi, se è disponibile un controller simile, si prega di suggerirmi.

Grazie in anticipo.

+3

possibile duplicato di http: // stackoverflow.it/questions/17398058/is-it-possible-to-add-uitableview-within-a-uitableviewcell – iAnurag

+0

Ho una domanda tipo simile qualsiasi aiuto che ho postato https://stackoverflow.com/q/45626816/6028575 –

risposta

4

Apple sconsiglia di aggiungere viste di tabelle come visualizzazioni secondarie di altri oggetti scorrevoli. Se si desidera sviluppare tale cosa, qui sono i passi per voi:

  1. Fai sezione separata per il vostro 'vista tabella' all'interno della vostra vista tabella
  2. La prima riga della sezione - la riga cliccabile
  3. Quando l'utente tocca una riga, gestirla tramite - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath.
  4. Inserire altre celle in questa sezione modificando l'array dell'origine dati.
  5. sezione Ricarica o fare un aggiornamento,

    come

    [self.dataSourceArray insertObject:object atIndex:indexPath.row]; 
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 
    [self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; 
    
+0

Come mai Apple non consiglia di farlo se l'elenco Wi-Fi all'interno delle Impostazioni di ogni dispositivo iOS è fatto in questo modo? – Josh

+0

@Josh, uno dei motivi: è piuttosto difficile lavorare con l'autolayout e calcolare le dimensioni corrette per gli oggetti scrollabili annidati. c'è un modo semplice per farlo senza nidificare. e anche - hai visto la gerarchia nidificata di uiscrollview all'interno delle impostazioni? è semplice aggiornamento delle sezioni tableview (come insert/delete). – Doro

+0

Ciao @Doro, quando vai in Impostazioni> Wifi, sul tuo iphone, puoi vedere una prima sezione (con l'interruttore di accensione/spegnimento wifi e la rete wifi attiva), e ... una seconda sezione, con un elenco di hotspot wifi che crescono o si restringono in modo dinamico. Voglio implementare esattamente la stessa cosa, ma con qualcos'altro invece delle reti wifi. Sono solo moderatamente fluente con swift/ios, sai se sto guardando questo problema dal lato destro? – Josh

4

io sconsiglio vista tavolo di piazzamento. Come utente, è frustrante quando un'entità scorrevole si trova all'interno di un'altra entità scorrevole. Quando scorri, non sei mai sicuro di come si comporterà il contenuto. Possono essere necessari diversi passaggi per passare da un'estremità all'altra del genitore. È importante il modo in cui fai il tuo swipes. Fa schifo da usare.

Prova questo approccio di espandere le sezioni di una vista tabella Expand/collapse section in UITableView in iOS

Buona fortuna!

1

-> Prendete sezione separata per UITableView che si desidera aggiungere vista come come tableView.

-> Prendi la prima riga di quella sezione.

-> Sostituisci il metodo delegato di UITableView. - (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath;

-> In questo metodo aggiornare i dati di tableview e Ricarica quella sezione.

[self.dataSourceArray removeObjectAtIndex:indexPath.section]; 
    [self.dataSourceArray insertObject:object atIndex:indexPath.section]; 
    [tableView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationAutomatic]; 
Problemi correlati