2012-02-14 4 views
24

Così Sto creando una vista come:Vuoi creare un statica UI fresco, ma: "vista tabella statica sono validi solo ..."

enter image description here

Per questo sto cercando di utilizzare un storyboard in wich aggiungo 2 TableViews (sia come 'celle statiche') e poi aggiungo manualmente il mio contenuto cellulare direttamente dallo storyboard ...

nel mio storyboard sembra grande, ma quando ho costruire ottengo:

en.lproj/MainStoryboard.storyboard: error: Illegal Configuration: Static table views are only valid when embedded in UITableViewController instances

Se avete qualche idea su questo problema.

Grazie!

+21

l'immagine è sparita. questo non è utile perché non integrare le immagini caricandole direttamente su StackOverflow? – brainray

+0

questo ha una buona risposta in questo: http://stackoverflow.com/questions/22364230/static-table-view-outside-uitableviewcontroller –

risposta

22

Aggiungi un UITableViewController alla tua vista. Dovrebbe contenere un UITableView. Definisci questo come una vista tabella statica e falla raggruppare. Aggiungi due sezioni. Uno con una fila e l'altro con due file. Aggiungi di nuovo i pulsanti e i cursori Labels alle righe.

Non so perché vorreste avere due UITableViews qui?

+0

Beh, sembra che sia l'unico modo per ottenere questo "stile" senza dover creare cose personalizzate non è vero? – Cehm

+0

Probabilmente. Non so come Apple abbia implementato la funzione di tabella statica nello storyboard, ma dal momento che si ottiene un messaggio di errore quando si tenta di definirlo al di fuori di un UITableViewController, sicuramente indica che hanno un codice dietro di esso che supporta questo tipo di comportamento. Raccomando comunque di usare un controller per gestire UITableView perché in questo modo si liberano molte cose in questo modo. –

+0

Ottimo !! Ho appena fatto quello che hai detto e questo ha funzionato abbastanza bene. – Cehm

33

Ho anche riscontrato un problema durante la modifica di un controller di visualizzazione personalizzato esistente, estendendo così UITableViewController. XCode non è abbastanza intelligente e non si accorgerà che soddisfa già le sue esigenze.

È possibile risolvere questo problema modificando il codice sorgente dello storyboard e modificando <viewController ... a <tableViewController....

Fonte originale: https://plus.google.com/108665969482300807329/posts/J4mCASMA3pZ

+1

E non dimenticare di cambiare il tag di chiusura '' XML in modo che non ci siano disallineamenti! – Jeff

+4

Ho provato questo con Xcode 5.1, ma non funziona più. Ho ricevuto il seguente errore: "Impossibile aprire il documento" MainStoriboard.storyboard ". Impossibile verificare il contenuto del documento." Ora cambiandolo in dinamico, sembra essere l'unico modo ora. – Homam

+0

Questa soluzione ha funzionato per me. – Will

2

si può rendere dinamica e poi interruttore di scorrimento:

[yourTableName setScrollEnabled:NO]; 
+0

Questo è quello che ho finito per fare ... una specie di kluge ma ha risolto il mio problema. Grazie! –

3

L'unico modo per fare questo lavoro in Xcode 6, e il modo in cui Apple ha inteso questo lavoro è per incorporare un TableViewController in una vista contenitore, se necessario. Sembra che non si può incidere il vostro senso attraverso come descritto da juanignaciosl, in Xcode 6.

Così i passaggi sarebbe come segue:

  1. Creare una controller della vista tabella
  2. sostituire la visualizzazione della tabella in questa controller con la tabella dal controller di visualizzazione "problematico", con tutte le sue celle statiche e così via

Se la vista tabella fa parte di un interfaccia utente più complesso e non è la vista principale del controller di visualizzazione, quindi continua come sotto

  1. crea un containerView nel tuo controller di visualizzazione "problematico", nella stessa posizione della tabella statica spostata ora. Questo creerà automaticamente anche un altro viewcontroller e un seque - cancella quelli.
  2. click sinistro trascinare o ctrl trascinare dalla visualizzazione contenitore al tableviewcontroller che contiene la tabella statica e scegliere incorporare

Questo non è così bello come prima, perché la vostra Tableview viene strappato via in un controller di vista separata generatore di interfaccia e questo potrebbe avere un impatto sul codice e sugli attacchi esistenti.Ma per i grandi tavoli statici è l'alternativa migliore per generare tutto il contenuto in modo dinamico.