Die minimale Schriftgröße ist in iOS Version 6.0 veraltet

92

Ich habe gerade ein Upgrade auf xcode 4.5 mit iOS 6.0 durchgeführt und es wird eine Warnung auf allen UILabels in meinen XIB-Dateien hervorgehoben, die besagt, dass die Mindestschriftgröße auf ios Version 6.0 veraltet ist. Weiß jemand, worauf sich das bezieht und wie man es behebt?

Update: Bild ist nicht mehr verfügbar (war unter https://skitch.com/hahmadi82/eyk51/cloud )

Hooman Ahmadi
quelle
1
@HoomanAhmadi: Alle iOS-Entwickler haben diese E-Mail erhalten. Lesen Sie den Disclamer unten: "Pre-Release-Software ..."
Rok Jarc
7
Ändern Sie "Minimum Font Size" im Abschnitt "Autoshrink" in "Minimum Font Scale". : p Hatte gerade das gleiche Problem und kam direkt hierher, vorausgesetzt, Schriftarten würden die NDA nicht verletzen. Es sieht so aus, als hätten Schriftarten beim Upgrade einige Änderungen erfahren.
Erran
18
Ich habe diese Frage aufgeworfen, weil sie nicht richtig geschlossen wurde. Zumindest ist der Grund für das Schließen falsch falsch falsch. "es ist nur für ein kleines geografisches Gebiet relevant" nicht. Dies gilt für alle iOS-Entwickler. "außerordentlich enge Situation, die für das weltweite Internetpublikum nicht allgemein anwendbar ist" nicht. Es gilt für alle: "Diese Frage wird zukünftigen Besuchern wahrscheinlich nicht helfen", nicht. Es war unglaublich nützlich für mich und wahrscheinlich auch für iOS-Entwickler. Ich verstehe das NDA-Problem, aber sobald die NDA aufgehoben wird, wird diese Frage auftauchen.
Jean-Denis Muys
9
Leute, als ich das zum ersten Mal reparierte, tat ich es manuell und es war eine besondere Art von Folter. Dann musste ich einige Änderungen zusammenführen und dank der Xcode-Beta gab es mir Emacs als mein Zusammenführungs-Tool, also habe ich mich darauf verlassen und die neuere Version der Datei genommen, in dem Wissen, dass ich diese wegwerfen würde, aber dann habe ich diese Änderungen mit überarbeitet TextWrangler: Die Dateien sind XML. Ersetzen Sie einfach: autoshrinkMode = "MinimumFontSize" durch autoshrinkMode = "MinimumFontScale" und ersetzen Sie MinimumFontSize = "10" durch MinimumFontScale = "0.5". Voila.
Rob
1
@LittleBobbyTables: Wäre toll, wenn die Leute nett fragen könnten . Wütendes und berechtigtes Jammern wie Matheszabis Kommentar ist eine großartige Möglichkeit, mich davon zu überzeugen, eine Frage nicht erneut zu öffnen.
CA McCann

Antworten:

47

minimumFontSizeDie Eigenschaft von UILabelist ab iOS 6.0 veraltet.

Eine Alternative zum minimumFontSizeist minimumScaleFactor. Wenn Sie zuweisen minimumFontSize/defaultFontSizezu minimumScaleFactor, es funktioniert in der gleichen Weise wie minimumFontSize.

Der Code lautet wie folgt: Zum Beispiel beträgt die Schriftgröße 30,0 und wenn Sie möchten, dass die Mindestschriftgröße 12,0 beträgt

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

Verwenden Sie stattdessen minimalScaleFactor ... Link

Aravind NC
quelle
8

Schnellkorrektur ... Hier muss die Mindestschriftgröße 8,0 betragen

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

Ich antworte sehr spät, könnte aber jedem anderen helfen. Wie jeder weiß , dass setMinimumFontSizeveraltet ist, so dass andere Verfahren ersetzt setMinimumFontSizeheißt setAdjustFontToFitWidthdie statt BOOL zB

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;
Syed Ali Salman
quelle
3

Ich hatte ein ähnliches Problem. Die schnelle Lösung besteht darin, die MinimumScaleFactor-Eigenschaft von UILabel zu verwenden.

Jayprakash Dubey
quelle
3

Verwenden Sie für Swift Folgendes:

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

Klappt wunderbar!

ColossalChris
quelle
1

Gehen Sie in den Finder und suchen Sie die .storyboardDatei oder Ihre .xibund öffnen Sie sie mit TextEdit. Verwenden Sie find, um die Zeichenfolge zu suchen "autoshrinkMode"und den Wert durch "minimumFontSize"zu ersetzen"minimumFontScale"

Seltsam, dass die Konvertierung nicht in den Update-Skripten geschrieben wurde ...

Wir danken auch @Rob in den obigen Kommentaren für die Angabe der gleichen Antwort. Er sollte dafür eine Gutschrift erhalten.

SnareChops
quelle
In meiner Storyboard-Datei befindet sich kein AutoshrinkMode.
Timuçin
Danke, das funktioniert bei mir perfekt. @Tim müssen Sie nur das UILabel auswählen und die Option "label" im rechten Utility-Bereich aktivieren. Wenn Sie die Optionen aktivieren, wird eine Option mit dem Namen "Autoshrink" angezeigt. i.stack.imgur.com/H6YYJ.png
pabloverd
0

Sie können dort den minimalen Skalierungsfaktor verwenden oder ein Etikett ziehen und autoshrik-> minimal font festlegen.

Vielleicht kann dir das helfen.

Shreeji
quelle
0

Ja minumumFontSizeist veraltet.

Verwenden Sie folgende minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);
Gaurav
quelle