Ukuran Font Minimum tidak berlaku lagi di ios versi 6.0

92

Saya baru saja memutakhirkan ke xcode 4.5 dengan iOS 6.0 dan ini menyoroti peringatan pada semua UILabel di file XIB saya yang mengatakan "ukuran font minimum tidak berlaku lagi di ios versi 6.0". Adakah yang tahu apa maksudnya ini dan bagaimana cara memperbaikinya?

Pembaruan: gambar tidak lagi tersedia (ada di https://skitch.com/hahmadi82/eyk51/cloud )

Hooman Ahmadi
sumber
1
@HoomanAhmadi: semua pengembang iOS mendapatkan email itu. Baca penafian di bawahnya: "Perangkat lunak pra-rilis ..."
Rok Jarc
7
Ubah "Ukuran Font Minimum" di bagian Autoshrink menjadi "Skala Font Minimum". : p Baru saja mengalami masalah yang sama dan langsung datang ke sini dengan asumsi font tidak akan melanggar NDA. Sepertinya font mengalami beberapa perubahan dalam peningkatan.
erran
18
Saya meningkatkan pertanyaan ini karena tidak ditutup dengan benar. Setidaknya alasan penutupan salah salah. "ini hanya relevan untuk area geografis kecil" bukan. Ini berlaku untuk semua pengembang iOS. "Situasi yang sangat sempit yang umumnya tidak berlaku untuk pemirsa internet di seluruh dunia" tidak. Ini berlaku untuk semua orang. "Pertanyaan ini tidak mungkin membantu pengunjung di masa mendatang" tidak. Itu sangat berguna bagi saya, dan kemungkinan akan sama berguna untuk pengembang iOS mana pun. Saya memahami masalah NDA, tetapi segera setelah NDA dicabut, pertanyaan ini akan muncul.
Jean-Denis Muys
9
Teman-teman, pertama kali saya memperbaikinya, saya melakukannya secara manual dan itu adalah jenis penyiksaan khusus. Kemudian saya harus menggabungkan beberapa perubahan dan berkat Xcode beta itu memberi saya emacs sebagai alat penggabung saya jadi saya menebusnya dan mengambil versi yang lebih baru dari file itu tahu saya akan membuangnya, tetapi kemudian saya mengulangi perubahan ini menggunakan TextWrangler: filenya adalah xml. Cukup ganti: autoshrinkMode = "minimumFontSize" dengan autoshrinkMode = "minimumFontScale" dan ganti minimumFontSize = "10" dengan minimumFontScale = "0.5". Voila.
Rob
1
@LittleBobbyTables: Akan lebih bagus jika orang bisa bertanya dengan baik . Marah dan merengek seperti komentar matheszabi adalah cara yang bagus untuk meyakinkan saya untuk tidak membuka kembali pertanyaan.
CA McCann

Jawaban:

47

minimumFontSize milik dari UILabel sudah tidak digunakan lagi mulai iOS 6.0 dan seterusnya.

Alternatif untuk minimumFontSizeis minimumScaleFactor. Jika Anda menetapkan minimumFontSize/defaultFontSizeuntukminimumScaleFactor , ini bekerja dengan cara yang sama seperti minimumFontSize.

Kodenya adalah sebagai berikut - Sebagai Contoh ukuran font adalah 30.0 dan jika Anda ingin ukuran font minimum menjadi 12.0

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

Gunakan minimumScaleFactor sebagai gantinya ... Link

Aravind NC
sumber
8

Perbaikan cepat ... Di sini ukuran font minimum menjadi 8.0

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

Saya menjawab sangat terlambat, tapi mungkin bisa membantu yang lain. Seperti setiap orang tahu bahwa setMinimumFontSizetelah usang, metode menggantikan sehingga lainnya setMinimumFontSizeyaitu setAdjustFontToFitWidthyang mengambil BOOL misalnya

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

Saya punya masalah serupa. Perbaikan cepat adalah dengan menggunakan properti MinimumScaleFactor dari UILabel.

Jayprakash Dubey
sumber
3

Untuk Swift gunakan yang berikut ini:

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

Bekerja seperti pesona!

ColossalChris
sumber
1

Pergilah ke finder dan temukan .storyboardfile atau milik Anda .xibdan buka dengan TextEdit. Gunakan find untuk menemukan string "autoshrinkMode"dan mengganti nilainya "minimumFontSize"menjadi"minimumFontScale"

Aneh bahwa konversi tidak ditulis dalam skrip pembaruan ...

Juga kredit untuk @Rob dalam komentar di atas karena menyatakan jawaban yang sama. Dia harus menerima pujian untuk yang satu ini.

SnareChops
sumber
tidak ada autoshrinkMode di file storyboard saya.
Timuçin
Terima kasih, ini bekerja dengan sempurna untuk saya. @Tim Anda hanya perlu memilih UILabel, dan centang opsi "label" di panel utilitas kanan, dan centang opsi, Anda akan melihat salah satu yang disebut "Autoshrink". i.stack.imgur.com/H6YYJ.png
pabloverd
0

Anda dapat menggunakan faktor skala minimum di sana atau menyeret label dan mengatur autoshrik-> font minimum.

Mungkin ini bisa membantu Anda.

shreeji
sumber
0

Ya minumumFontSizesudah usang.

Gunakan berikut minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);
Gaurav
sumber