Dimensione minima dei caratteri deprecata su iOS versione 6.0


92

Ho appena aggiornato a xcode 4.5 con iOS 6.0 e sta evidenziando un avviso su tutte le etichette UIL nei miei file XIB che dice "dimensione minima del carattere deprecata su iOS versione 6.0". Qualcuno sa a cosa si riferisce e come risolverlo?

Aggiornamento: l' immagine non è più disponibile (era su https://skitch.com/hahmadi82/eyk51/cloud )


1
@HoomanAhmadi: tutti gli sviluppatori iOS hanno ricevuto quell'email. Leggi l'informativa in fondo: "Pre-release software ..."
Rok Jarc

7
Modificare "Dimensione minima carattere" nella sezione Riduzione automatica in "Scala carattere minima". : p Ho appena avuto lo stesso problema ed è venuto direttamente qui presumendo che i caratteri non violassero l'NDA. Sembra che i caratteri abbiano subito alcune modifiche durante l'aggiornamento.
erran

18
Ho alzato questa domanda perché non era chiusa correttamente. Almeno il motivo della chiusura è sbagliato sbagliato sbagliato. "è rilevante solo per una piccola area geografica" no. Si applica a tutti gli sviluppatori iOS. "situazione straordinariamente ristretta che non è generalmente applicabile al pubblico mondiale di Internet" no. Si applica a tutti. "È improbabile che questa domanda possa aiutare i futuri visitatori" no. È stato incredibilmente utile per me e probabilmente sarà altrettanto utile per qualsiasi sviluppatore iOS. Capisco la questione dell'NDA, ma non appena l'NDA sarà revocato, questa domanda si alzerà.
Jean-Denis Muys

9
Ragazzi, la prima volta che l'ho risolto, l'ho fatto manualmente ed è stato un tipo speciale di tortura. Quindi ho dovuto unire alcune modifiche e grazie alla versione beta di Xcode mi ha dato emacs come strumento di unione, quindi l'ho salvato e ho preso la versione più recente del file sapendo che li avrei buttati via, ma poi ho rifatto queste modifiche usando TextWrangler: i file sono xml. Basta sostituire: autoshrinkMode = "minimumFontSize" con autoshrinkMode = "minimumFontScale" e sostituire minimumFontSize = "10" con minimumFontScale = "0.5". Ecco.
Rob il

1
@ LittleBobbyTables: sarebbe fantastico se le persone potessero chiedere gentilmente , però. Piangere arrabbiato e autorizzato come il commento di matheszabi è un ottimo modo per convincermi a non riaprire una domanda.
CA McCann

Risposte:


47

minimumFontSizela proprietà di UILabelè deprecata da iOS 6.0 in poi.

Un'alternativa allo minimumFontSizeis minimumScaleFactor. Se si assegna minimumFontSize/defaultFontSizea minimumScaleFactor, funziona allo stesso modo di minimumFontSize.

Il codice è il seguente: ad esempio, la dimensione del carattere è 30,0 e se si desidera che la dimensione minima del carattere sia 12,0

YOURLABEL.font= [UIFont fontWithName:@"FONT_NAME" size:30.0];
[YOURLABEL setMinimumScaleFactor:12.0/[UIFont labelFontSize]];


8

Correzione rapida ... Qui la dimensione minima del carattere deve essere 8.0

            CGFloat size = textLabel.font.pointSize;// font size of label text
            [textLabel setMinimumScaleFactor:8.0/size];

5

Rispondo molto tardi, ma potrei aiutare chiunque altro. Come tutti sanno che setMinimumFontSizeè stato deprecato, quindi un altro metodo di sostituzione setMinimumFontSizeè setAdjustFontToFitWidthche richiede BOOL ad es

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;

3

Ho avuto un problema simile. La soluzione rapida consiste nell'usare la proprietà MinimumScaleFactor di UILabel.


3

Per Swift utilizzare quanto segue:

//set the number (ex. 8 to your desired minimum font size)
myLabel!.minimumScaleFactor = 8/myLabel!.font.pointSize;`

Funziona come un fascino!


1

Vai nel Finder e trova il .storyboardfile o il tuo .xibe aprilo con TextEdit. Usa find per individuare la stringa "autoshrinkMode"e sostituire il valore "minimumFontSize"con"minimumFontScale"

Strano che la conversione non sia stata scritta negli script di aggiornamento ...

Ringraziamo anche @Rob nei commenti sopra per aver affermato la stessa risposta. Dovrebbe ricevere credito per questo.


non c'è autoshrinkMode nel mio file storyboard.
Timuçin

Grazie, per me funziona perfettamente. @Tim devi solo selezionare la UILabel, e controllare l'opzione "label" nel pannello di destra delle utility, e controllare le opzioni, ne vedrai una chiamata "Autoshrink". i.stack.imgur.com/H6YYJ.png
pabloverd

0

Puoi usare il fattore di scala minimo o trascinare un'etichetta e impostare autoshrik-> font minimo.

Forse questo ti può aiutare.


0

minumumFontSizeè deprecato.

Usa quanto segue minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.