Tôi đang tìm một kỹ thuật đáng tin cậy để thực hiện định dạng chuỗi đơn giản (đậm, nghiêng, ...) trong một NSTextView. Việc phân tích cú pháp văn bản gần như được thực hiện với regex, nhưng bây giờ tôi cần áp dụng đặc điểm phông chữ và cũng thay đổi kích thước.Kỹ thuật về cách định dạng/màu chuỗi của NSTextView
Một số đoạn mã trên như thế nào tôi thực hiện một chữ in đậm
[[textView textStorage] beginEditing];
[[textView textStorage] applyFontTraits:NSFontBoldTrait range:range];
[[textView textStorage] endEditing];
này và cũng có thể thay đổi kích thước với
[[textView textStorage] beginEditing];
NSFont* font = [[textView textStorage] attribute:NSFontAttributeName atIndex:range.location effectiveRange:nil];
NSFont* newFont = [NSFont fontWithName:[font familyName]
size:[font pointSize] + size];
[[textView textStorage] addAttribute:NSFontAttributeName
value:newFont
range:range];
[[textView textStorage] endEditing];
hoạt động tốt. Vấn đề duy nhất tôi có bây giờ là trong một số trường hợp, khi tôi nhập các ký tự mới, các ký tự đó được in đậm hoặc in nghiêng theo mặc định, mặc dù tôi không áp dụng các thuộc tính cho chúng.
Tôi có phải đặt lại nội dung nào đó bằng số setTypingAttributes
của số NSTextView
hoặc tôi chỉ cần bỏ lỡ điều gì đó ở đây?
Tôi cần phải làm điều tương tự. Bạn có nhớ nói nơi bạn gọi mã định dạng không? Trong trường hợp của tôi, tôi có một chế độ xem văn bản sử dụng một ràng buộc, vì vậy nó có thể được sửa đổi hoặc thông qua chỉnh sửa hoặc thông qua một thay đổi được thực hiện bởi bộ điều khiển bên dưới. – paulmelnikow