Domanda

Sto cercando di replicare Apple " Modifica dettagli " funzionalità, in cui un UITableView raggruppato viene mostrato con 1 riga e l'intera cella è un UITextView grande. Ad esempio, vai all'app Contatti, modifica un contatto e aggiungi un campo Nota. Questo è quello che sto cercando.

Il problema che sto riscontrando è quando si ruota il telefono. La prima volta che ruoti (ritratto - > paesaggio) tutto va bene. Ma quando si ruota indietro, il tavolo scompare. Nessun indizio sul perché, e sto sbattendo la testa contro il muro per trovare una soluzione. Ci sto lavorando letteralmente da giorni senza risultati.

Il primo metodo che ho provato è stato implementare tableView: heightForRowAtIndexPath, restituendo altezze diverse a seconda che fosse orizzontale o meno.

Un'altra implementazione che ho provato è stata avere 2 viste completamente separate nel controller:
    UIView * landscape;
    UIView * ritratto;
e cambiandoli in willAnimateRotationToInterfaceOrientation. Neanche dadi lì.

Ho anche provato a armeggiare con i limiti e il frame di self.tableView, così come self.tableview.contentOffset, ma nulla di tutto ciò sembra avere alcun effetto.

C'è qualche esempio là fuori che non riesco a google che mostra già esattamente cosa voglio fare con rotazione ? Immagino che questa sia una situazione molto comune, ma non sono stato in grado di trovare nulla.

Quindi immagino che la mia domanda sia: qualcun altro ha mai incontrato qualcosa del genere prima e può almeno indicarmi la direzione giusta dove cercare? O conosci alcune insidie ??comuni che forse mi manca? Sto solo per dire di rovinarlo e non consentire la rotazione nella vista Modifica dettagli, ma considerando che è quando gli utenti hanno più probabilità di desiderare una tastiera orizzontale mi piacerebbe davvero averlo se possibile ...

Grazie per l'aiuto che chiunque può fornire.

Nessuna soluzione corretta

Altri suggerimenti

Probabilmente ha a che fare con il modo in cui hai ancorato i tuoi oggetti in Interface Builder. Vai a Interface Builder e apri l'ispettore per la vista tabella. Penso che sia la terza scheda che ha una serie di frecce. L'insieme interno di frecce controlla l'elasticità dell'oggetto e l'insieme esterno di frecce controlla le ancore. Blocca i lati sinistro / destro e scegli la parte superiore o inferiore (o entrambi se sei a schermo intero).

Puoi testare la tua vista direttamente in Interface Builder (inclusa la rotazione della vista), quindi ti suggerisco di farlo per vedere che la tua nuova soluzione funziona.

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