Tôi đã cố gắng áp dụng kết hợp NSFontAttributes vào NSMutableAttributedString gần đây và tôi không thể tìm thấy giải thích kỹ lưỡng về cách thực hiện mà không xóa các thuộc tính khác.Làm cách nào để áp dụng in đậm và in nghiêng cho phạm vi NSMutableAttributedString?
Tôi đã tìm kiếm một bó, và thấy question này liên quan đến làm thế nào để làm điều đó với HTML, và sau đó question này về làm thế nào để tìm nơi văn bản đã được in đậm hoặc in nghiêng, nhưng không làm thế nào để thực sự làm điều đó .
Hiện nay, tôi cố gắng định dạng đốt như sau:
In nghiêng: [mutableAttributedString addAttribute: NSFontAttributeName value:[fontAttributes valueForKey:CXItalicsFontAttributeName] range:r];
Bold:[mutableAttributedString addAttribute:NSFontAttributeName value:[fontAttributes valueForKey:CXBoldFontAttributeName] range:r];
Trường hợp hằng CXItalicsFontAttributeName
và CXBoldAttributeName
trích xuất hai giá trị sau đây từ một từ điển tôn trọng:
UIFont *italicsFont = [UIFont fontWithName:@"Avenir-BookOblique" size:14.0f];
UIFont *boldFont = [UIFont fontWithName:@"Avenir-Heavy" size:14.0f];
Tôi biết điều này không phải là đúng cách để đi về định dạng, vì NSAttributedString standard attributes không bao gồm một ItalicsFontAttribute hoặc BoldFontAttribute, nhưng tôi không thể tìm thấy cách đúng để làm điều này. Bất cứ ai có thể giúp tôi?
phương pháp này có vẻ không thực tế. Điều đó có nghĩa là tôi sẽ cần tạo nhiều kết hợp nhất có thể để thử và giải thích cho tất cả các trường hợp. Tôi đã hy vọng để tránh nó. – Micrified
@Owatch Đây là [câu hỏi hỏi về liệt kê] (http://stackoverflow.com/q/14161254/4151918). Bạn vẫn sẽ cần phải xây dựng các phông chữ trên bay. Không có cách nào xung quanh đó. –
Tôi đã chọn câu trả lời của bạn làm giải pháp trước đó vì tôi không thể tìm thấy bất kỳ giải pháp thay thế nào, nhưng từ đó đã tìm thấy thứ gì đó phù hợp hơn với những gì tôi đang tìm kiếm, vì vậy tôi đã xóa dấu kiểm. Tôi xin lỗi vì không nhất quán. – Micrified