Tôi có một UILabel có kích thước được tính bằng phương pháp sizeWithFont:
. Chế độ ngắt dòng được đặt thành UILineBreakModeWordWrap
(cùng một cờ được sử dụng khi tính kích thước với sizeWithFont:
) ...Các dòng kết quả của UILabel với UILineBreakModeWordWrap
Mọi thứ hoạt động tốt, nhãn được định cỡ đúng và hiển thị văn bản của tôi theo yêu cầu.
Bây giờ tôi cần biết các dòng được sử dụng để hiển thị nhãn (hoặc các dòng được tạo khi sử dụng sizeWithFont:
). Về mặt kỹ thuật, tôi có thể viết việc triển khai dòng của riêng mình dựa trên khoảng trắng/dấu mũ, nhưng sau đó nó sẽ không được đảm bảo giống như cách triển khai của Apple và do đó các dòng kết quả sẽ không được sử dụng để tính kích thước văn bản , không bao giờ thực tế tái tạo bánh xe.
Lý tưởng nhất, tôi sẽ chuyển chuỗi của mình, chỉ định chế độ chiều rộng và ngắt dòng và nhận được một chuỗi các chuỗi đại diện cho các dòng hình ảnh của văn bản.
Bất kỳ ý tưởng nào làm cho điều này xảy ra theo cách thanh lịch nhất?
Cảm ơn TomSwift cho đầu vào của bạn ... Đây loại công trình đối với một số trường hợp, nhưng nó chắc chắn đã cho tôi một sự thúc đẩy lớn, tôi đang làm việc trên một giải pháp thêm bằng chứng đạn dựa trên mã của bạn . Cảm ơn một lần nữa! – Nick
Trường hợp nào đã phá vỡ nó? – TomSwift
Giải pháp Nice TomSwift. Nhưng nó không hiệu quả đối với tôi, nó luôn luôn là văn bản trên một dòng mặc dù int đếm đôi khi là 9, 10 hoặc 20. Mã của tôi: \t self.labelDescription.text = event.description; \t self.labelDescription.lineBreakMode = UILineBreakModeWordWrap; \t self.labelDescription.font = [UIFont fontWithName: @ "Helvetica" size: 13.0]; \t \t NSArray * lines = [self.labelDescription lines]; \t \t số đếm = [số dòng]; \t self.labelDescription.numberOfLines = count; –