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 )


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]];


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];

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;

3

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


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!


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.


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.


0

Ja minumumFontSizeist veraltet.

Verwenden Sie folgende minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.