2015-07-21 9 views
8

Ho il seguente codice per una vista tabella cella a Swiftspazio viene rimosso dalla fine String - UILabel Swift

let rcap = cell.viewWithTag(613) as! UILabel 
    rcap.text = "Capacity: \(room.capacity) " // I added space at the end 

Lo spazio viene rimosso al termine quando visualizzato sullo schermo.

Se aggiungo spazio all'inizio della stringa, non ci sono problemi.

Al momento sto utilizzando questo hack 'e basta', ma non è abbastanza buono:

rcap.text = "Capacity: \(room.capacity) ." 

Tutte le idee?

Ho anche provato:

rcap.text = "Capacity: \(room.capacity) " + " " 
+0

Questo è bello. Vorrei più controllo sulla quantità di spazi, ma questo è un buon approccio per il momento! –

+0

ok ... penso che '\ t' funzioni ma con una piccola quantità di spazio –

+0

Sarebbe interessante sapere perché lo spazio finale è importante. Forse c'è una soluzione diversa al tuo problema. –

risposta

21

Aggiunta di un vincolo per l'etichetta sembra la soluzione migliore per me. Consente di definire una distanza ben definita tra l'etichetta e il margine della cella di visualizzazione tabella. La larghezza di uno spazio dipende dal tipo di carattere e potrebbe anche cambiare se il testo nell'etichetta viene ridotto, causando testi non allineati nella vista tabella .

Detto questo, è possibile impedire lo spazio finale dall'essere rimosso aggiungendo un carattere "ZERO WIDTH NON FALEGNAME" (U + 200C):

rcap.text = "Capacity: \(room.capacity) \u{200c}" 

Ma ritengo che più come un " trucco "rispetto alla soluzione corretta per il problema .

Aggiornamento: Sembra che questo "trucco" non funziona più in iOS 10, quindi un vincolo presentazione deve essere usato al posto, come inizialmente ipotizzato.

+0

Love it! Grazie ! –

+2

Questo non funziona per me con Swift 3 – onemoreanimal

+0

@onemoreanimal: come "non funziona"? Non viene compilato? Produce un risultato inaspettato? –

0
rcap.text = String.localizedStringWithFormat("Capacity: %@ ", rrom.capacity) 

prova sopra il codice si può funziona

+0

sembra un hack –

+2

Questo ha gettato un errore purtroppo –

+0

room .capacity quale tipo di variabile –

Problemi correlati