Sto attraversando il corso Swift/iOS di Stanford Winter 2015 e mentre svolgo i compiti mi imbatto in un comportamento Mi piacerebbe cambiare.Proprietà testo UIL quando è impostata su zero o "" fa scomparire UILabel dalla vista (Swift/Autolayout/iOS9.1)
Uso l'Autolayout come descritto nei video (rendendo il pin dello schermo ai bordi di visualizzazione iniziali e finali) e l'app Calcolatrice "Display" UILabel funziona bene con un valore iniziale di 0 e ogni volta che si utilizza il valore per impostarlo (a String) è non-nil e non "".
Se è nullo o "", l'intera UILabel scompare. Quello che sto cercando di fare è "cancellare" il display ogni volta che non c'è alcun valore da visualizzare o un calcolo errato risulta in nullo.
Qualche consiglio su chi occuparsi di questo in generale? "Cancellare" un UILabel senza modificarne le dimensioni sullo schermo?
Edit (grazie Rob) L'UILabel ha i seguenti vincoli 1. Opzione-clic drag-sinistra per contenente UIView, seleziona "leader" qualcosa (sulla andare al lavoro non può controllare ancora per parole esatte . 2. lo stesso metodo usato (1) eccetto che la resistenza è sul bordo destro e selezionando "finali" 3. opzione click-trascina fino alla parte superiore della vista, selezionare l'opzione di menu "verticale". 4. Uguale (3) tranne che il trascinamento è su un UIButton sotto l'UILabel sulla GUI.
Con queste impostazioni, l'etichetta quando contiene un numero è sempre v isible e (se capisci, colorerà per verificare) si estende sullo schermo anche se il testo non lo fa.
Il layout appare corretto nel profilo e nel paesaggio purché il contenuto di UILabel non sia vuoto. Se vuoto, sembra "restringersi per adattarsi" così tanto che i pulsanti in basso vengono spostati verso l'alto.
Sono uno sviluppatore C++ poiché metà degli anni '90, ma ho poca esperienza utente e non più di un paio di settimane esperienza in iOS/sviluppo Swift.
Grazie!
modificare la tua domanda per descrivere i vincoli che avete impostato sul vostro vista etichetta per controllare la sua posizione e le dimensioni. –
Hai provato a chiamare 'label.sizeToFit()'? – Pranav
Hai provato a fare un'istruzione if che restituisce: "" (cancellando l'etichetta) se il timer countDown == 0? @Varsuuk – lukaivicev