Tôi đang cố gắng tạo một cửa sổ dựa trên NSTextView đơn giản để chỉnh sửa WYSIWYG đơn giản. Tuy nhiên, tôi chỉ muốn cho phép một số loại định dạng nhất định (ví dụ: In đậm, Nghiêng, Gạch chân và một loại tiêu đề đơn lẻ nhưng không có màu hoặc phông chữ khác.)Làm cách nào để bạn có thể chặn dán vào một NSTextView để xóa định dạng không được hỗ trợ?
Vấn đề là nếu tôi chỉ sử dụng NSTextView, ai đó có thể tạo hoặc sao chép định dạng văn bản trong một chương trình khác, sau đó chỉ cần dán vào chế độ xem đó và tất cả định dạng đó đi kèm với nó, cho phép những thứ tôi không cho phép, chẳng hạn như phông chữ, màu sắc khác nhau, v.v.
Tốt nhất, tôi muốn tự động thoát ra mọi định dạng mà ứng dụng của tôi không hỗ trợ. Tệ nhất, tôi chỉ đơn giản là ngăn chặn dán và thay đổi nó thành văn bản thuần mặc dù họ sẽ phải sau đó định dạng lại nó theo cách thủ công. Nhưng đó là thích hợp hơn để định dạng không hợp lệ.
Lưu ý: Tương tự như vậy đã được hỏi trên SO nhiều lần, nhưng chúng thường đề cập đến web hoặc sử dụng JavaScript/JQuery. Tôi đặc biệt đề cập đến việc sử dụng NSTextView trong ứng dụng Mac, vì vậy, trước khi chỉ cần đánh dấu mục này là trùng lặp, hãy đảm bảo đó là câu hỏi khác đề cập đến. Cảm ơn bạn.
Tôi muốn tránh can thiệp vào nội dung các tông thực tế. Người dùng đã sao chép văn bản đã định dạng, vì vậy bạn không nên hủy bỏ nó cho họ. Sử dụng các phương pháp khác được đề cập ở dưới cùng của câu trả lời này (-readSelectionFromPasteboard: or -readSelectionFromPasteboard: type:). –