Hãy tưởng tượng UILabel, rộng 200 pixel và cao 50 pixel. Nhãn có văn bản bên trong và nhãn làm cho văn bản nhỏ hơn sao cho nó vừa với nhãn. Nhưng bây giờ, làm thế nào bạn sẽ nhận được kích thước của UIFont như thế nào nó có thể nhìn thấy trong nhãn? Hãy tưởng tượng kích thước phông chữ đã được đưa ra với rất lớn 100, và nhãn ép nó xuống 15. Và sau đó, bạn muốn làm cho một số nhãn khác với văn bản nhỏ, trong đó có cùng một kích thước phông chữ. Có cách nào để có được kích thước phông chữ của UIFont sau khi bị ép bởi nhãn không?Cách tính kích thước của một UIFont khi văn bản trong nhãn bị hạn chế để vừa với chiều rộng?
6
A
Trả lời
15
Nếu bạn vượt qua kích thước của UILabel và breakMode, vv để:
CGSize size = [label.text sizeWithFont:label.font minFontSize:10 actualFontSize:&actualFontSize forWidth:200 lineBreakMode:UILineBreakModeTailTruncation];
actualFontSize nên được những gì bạn đang tìm kiếm.
CẬP NHẬT:
Ở trên đã không được chấp nhận. Phương pháp sử dụng bây giờ là:
- (CGRect)textRectForBounds:(CGRect)bounds
limitedToNumberOfLines:(NSInteger)numberOfLines
Dưới đây là một ví dụ
CGSize size = [label textRectForBounds:label.bounds
limitedToNumberOfLines:1].size;
Các vấn đề liên quan
- 1. Tính kích thước văn bản theo chiều rộng của vùng văn bản
- 2. Mở rộng kích thước phông chữ để vừa với chiều dọc trong UILabel
- 3. Cách điều chỉnh và tạo chiều rộng của một nhãn UILabel cho vừa với kích cỡ chữ?
- 4. Văn bản tỷ lệ trong một chế độ xem vừa với vừa?
- 5. Làm cách nào để tính chiều rộng của chuỗi văn bản của một phông chữ và cỡ chữ cụ thể?
- 6. Tính kích thước văn bản trước khi vẽ lên canvas
- 7. Giới hạn chiều rộng đường viền thành chiều rộng văn bản trong một phần tử khối
- 8. Cách tự động kích thước chiều cao của nhãn nhưng không phải chiều rộng
- 9. Cách giới hạn chiều rộng văn bản
- 10. Làm cách nào để tự động thay đổi kích thước phông chữ để vừa với chiều cao/chiều rộng của hộp văn bản?
- 11. css - thu nhỏ div cha để vừa với chiều rộng của một đứa trẻ và hạn chế chiều rộng của đứa trẻ khác
- 12. Cắt nhãn văn bản để đổi kích thước
- 13. Làm cách nào để thay đổi kích thước một UIButton cho vừa với văn bản mà không có văn bản mở rộng hơn màn hình?
- 14. Làm cách nào để vừa với chiều rộng của hộp văn bản với một tập hợp các cột trong lưới?
- 15. Tính chiều rộng văn bản với PHP GD
- 16. Thay đổi kích thước hình ảnh để vừa với khung giới hạn
- 17. Cách Đo Chiều cao TextView Dựa trên Chiều rộng và Kích thước Phông chữ của Thiết bị?
- 18. Làm cho nội dung vừa với chiều rộng của div
- 19. Cách CSS để hạn chế ngắt dòng cho văn bản
- 20. jQuery plugin để vừa với văn bản thành phần tử chiều rộng/chiều cao được xác định
- 21. Cách tính chiều cao của hình chữ nhật văn bản từ một NSString?
- 22. Đặt lại chiều rộng nhãn flex thành "tự động" sau khi đặt chiều rộng rõ ràng?
- 23. Đối với Qt 4.6.x, cách tự động định kích thước văn bản cho vừa với chiều rộng được chỉ định?
- 24. Văn bản tỷ lệ WPF chỉ vừa khi quá lớn
- 25. Nhận chiều rộng văn bản trong MFC
- 26. Nhận chiều cao của văn bản nhiều dòng với chiều rộng cố định để thay đổi kích thước hộp thoại một cách chính xác
- 27. iOS - Đổi kích thước UIWebView để vừa với nội dung?
- 28. Tính kích thước cần thiết cho TLabel
- 29. wxpython: tự động thay đổi kích thước ảnh tĩnh (staticbitmap) để vừa với kích thước
- 30. Có văn bản mở rộng quy mô kích thước để phù hợp với container
Vì vậy actualFontSize sẽ là một CGSize mà tôi đi qua tham chiếu đến phương pháp đó? –
Có. Trong C và Obj C, một hàm bị hạn chế trong cách nó có thể trả về các giá trị. Các đối số bạn chuyển đến một hàm được đánh giá và giá trị của chúng được đẩy lên ngăn xếp, trước khi hàm được gọi. Hàm chỉ nhận các giá trị đó và không thể chuyển tiếp một giá trị trả về trong chúng. Trừ khi những gì được đẩy là một con trỏ, trong trường hợp đó hàm có thể sử dụng con trỏ để ghi vào địa chỉ của nó và sửa đổi nó. Tôi đang oversimplifying - ở đây actualFontSize là một trong những giá trị trả về của hàm (method). – mahboudz
Điều này không được chấp nhận trong iOS7. Có thay thế cho iOS8 không? –