Kích thước phông chữ tối thiểu không được dùng nữa trên ios phiên bản 6.0


92

Tôi vừa nâng cấp lên xcode 4.5 với iOS 6.0 và nó làm nổi bật một cảnh báo trên tất cả các UILabels trong tệp XIB của tôi nói rằng "kích thước phông chữ tối thiểu không được dùng trên iOS phiên bản 6.0". Có ai biết điều này đang đề cập đến và làm thế nào để sửa chữa nó?

Cập nhật: hình ảnh không còn nữa (có tại https://skitch.com/hahmadi82/eyk51/cloud )


1
@HoomanAhmadi: tất cả các nhà phát triển iOS đều nhận được email đó. Đọc Disclamer trên dưới cùng của nó: "Phần mềm Pre-release ..."
Rok Jarc

7
Thay đổi "Kích thước Phông chữ Tối thiểu" trong phần Autoshrink thành "Tỷ lệ Phông chữ Tối thiểu". : p Chỉ gặp vấn đề tương tự và đến thẳng đây giả định rằng phông chữ sẽ không vi phạm NDA. Có vẻ như phông chữ đã trải qua một vài thay đổi trong bản nâng cấp.
erran

18
Tôi đã thêm câu hỏi này vì nó không được đóng chính xác. Ít nhất lý do đóng cửa là sai sai sai. "nó chỉ liên quan đến một khu vực địa lý nhỏ" không. Nó áp dụng cho tất cả các nhà phát triển iOS. "tình huống cực kỳ hạn hẹp không thể áp dụng chung cho đối tượng internet trên toàn thế giới". Nó áp dụng cho tất cả mọi người. "Câu hỏi này không có khả năng giúp bất kỳ khách truy cập trong tương lai" không. Nó cực kỳ hữu ích đối với tôi và có khả năng hữu ích như nhau đối với bất kỳ nhà phát triển iOS nào. Tôi hiểu vấn đề NDA, nhưng ngay sau khi NDA được dỡ bỏ, câu hỏi này sẽ nổi lên.
Jean-Denis Muys

9
Mọi người ơi, lần đầu tiên tôi sửa lỗi này, tôi đã làm thủ công và đó là một kiểu tra tấn đặc biệt. Sau đó, tôi phải hợp nhất một số thay đổi và nhờ Xcode beta, nó đã cung cấp cho tôi emacs làm công cụ hợp nhất của tôi, vì vậy tôi đã bảo lãnh điều đó và lấy phiên bản mới hơn của tệp khi biết rằng tôi sẽ vứt chúng đi, nhưng sau đó tôi đã làm lại những thay đổi này bằng cách sử dụng TextWrangler: các tệp là xml. Chỉ cần thay thế: autoshrinkMode = "MinimumFontSize" bằng autoshrinkMode = "MinimumFontScale" và thay thế MinimalFontSize = "10" bằng MinimumFontScale = "0,5". Thì đấy.
Rob

1
@LittleBobbyTables: Tuy nhiên, sẽ rất tuyệt nếu mọi người có thể hỏi một cách dễ thương . Tức giận và có quyền than vãn như nhận xét của matheszabi là một cách tuyệt vời để thuyết phục tôi không mở lại câu hỏi.
CA McCann

Câu trả lời:


47

minimumFontSizethuộc tính của UILabelkhông được chấp nhận từ iOS 6.0 trở đi.

Một thay thế cho minimumFontSizeminimumScaleFactor. Nếu bạn gán minimumFontSize/defaultFontSizecho minimumScaleFactor, nó hoạt động theo cách tương tự như MinimumFontSize.

Mã như sau - Ví dụ, kích thước phông chữ là 30.0 và nếu bạn muốn kích thước phông chữ tối thiểu là 12.0

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


8

Khắc phục nhanh ... Đây là kích thước phông chữ tối thiểu là 8.0

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

5

Tôi trả lời rất muộn, nhưng có thể giúp được gì khác. Như mọi người đều biết rằng setMinimumFontSizeđã bị phản đối, phương pháp thay thế để khác setMinimumFontSizesetAdjustFontToFitWidthtrong đó có BOOL ví dụ

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

3

Tôi đã có vấn đề tương tự. Cách khắc phục nhanh là sử dụng thuộc tính MinimumScaleFactor của UILabel.


3

Đối với Swift, hãy sử dụng như sau:

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

Hoạt động như một sự quyến rũ!


1

Đi vào công cụ tìm và tìm .storyboardtệp hoặc của bạn .xibvà mở bằng TextEdit. Sử dụng find để định vị chuỗi "autoshrinkMode"và thay thế giá trị "minimumFontSize"thành"minimumFontScale"

Kỳ lạ là chuyển đổi không được viết trong các tập lệnh cập nhật ...

Cũng ghi nhận @Rob trong các nhận xét ở trên vì đã nêu câu trả lời tương tự. Anh ta sẽ nhận được tín dụng cho điều này.


không có autoshrinkMode trong tệp bảng phân cảnh của tôi.
Timuçin

Cảm ơn, điều này làm việc hoàn hảo cho tôi. @Tim bạn chỉ phải chọn UILabel, và kiểm tra tùy chọn "nhãn" trong bảng tiện ích bên phải, và kiểm tra các tùy chọn, bạn sẽ thấy một tùy chọn có tên "Autoshrink". i.stack.imgur.com/H6YYJ.png
pabloverd

0

Bạn có thể sử dụng hệ số tỷ lệ tối thiểu ở đó hoặc kéo bảng lable và đặt autoshrik-> phông chữ tối thiểu.

Có lẽ điều này có thể giúp bạn.


0

minumumFontSizekhông được chấp nhận.

Sử dụng sau minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.