Come architettare correttamente l'app per visualizzare i moduli lunghi con molti controlli?

0

Fondamentalmente, sono stato incaricato di lavorare su un'app Xamarin.iOS (prevalentemente per tablet) che visualizzava un lungo modulo scorrevole che contiene ~ 200 controlli (pulsanti, interruttori, campi di testo, ecc ...).

Normalmente, vorrei creare un'istanza del controllo, assegnare valori alle sue proprietà e quindi aggiungere il controllo alla vista da visualizzare ma con 200 controlli, sembra un sacco di ridondanza e lunghe classi.

Come posso architettare meglio questa app per prevenire la ridondanza o rendere i controlli popolati in modo dinamico?

es.

Invece di

UILabel label1 = new UILabel(); 
label1.Text = "label text"; 


UILabel label2 = new UILabel(); 
label2.Text = "label text";

//...
//then do this like 200 times to show labels with different names 

Posso fare qualcosa di simile?

//in a foreach with amount of controls 

UILabel label = new UILabel(); 
label.Text = dynamicallyGeneratedText; 

Ma in generale, qual è il modo migliore di progettare un'app con un modulo lungo e scorrevole che l'utente deve compilare? Quali sono alcuni modi in cui posso rendere il mio codice più dinamico e meno codificato?

Grazie!

    
posta Euridice01 23.04.2017 - 02:20
fonte

2 risposte

3

Se hai davvero bisogno di questi molti elementi, allora dovresti probabilmente rendere l'interfaccia basata sui dati invece che interamente nel codice. Ciò significa che invece di 200 istanze di new UILabel() nel tuo codice, avresti una matrice o un'altra struttura di dati che contenesse il testo / ID di ogni etichetta, quindi dovresti semplicemente usare un ciclo for per iterare su questi creando una nuova istanza per ognuno. Quindi, invece di 400 linee che creano etichette, avresti solo 4 righe come:

for(label : labels) {
    UILabel uilabel = new UILabel(); 
    uilabel.Text = label.text;
}

Una volta che l'interfaccia utente è basata sui dati, questo apre anche la possibilità che i dati vengano caricati da un file di configurazione o da un database, in modo da poter cambiare l'interfaccia utente senza dover modificare o ricompilare il codice.

    
risposta data 23.03.2018 - 17:27
fonte
0

ListView link

Ma ottenere questo per essere performante è stato un famigerato orsetto per Xamarin. Ti consigliamo di testare accuratamente le prestazioni su più dispositivi reali prima di impegnarti a produrre il progetto in Xamarin.

    
risposta data 23.04.2017 - 04:47
fonte

Leggi altre domande sui tag