我想創建一個簡單的基於NSTextView的窗口進行簡單的所見即所得的編輯。但是,我只想要允許某些類型的格式(例如粗體,斜體,下劃線和單個標題類型,但不包含顏色或不同的字體)。如何攔截粘貼到NSTextView以刪除不支持的格式?
問題是如果我只是使用NSTextView,某人可以創建或複製格式文本在另一個程序中,然後只需將其粘貼到該視圖中,並使用它的所有格式,允許我不允許的內容,例如不同的字體,顏色等。
充其量,我想自動剝離任何我的應用程序不支持的格式。在最壞的情況下,我想簡單地攔截粘貼並將其更改爲純文本,儘管它們必須手動重新格式化它。但是這比格式無效更可取。
注意:這裏曾經多次提到類似的東西,但它們通常指的是Web或使用JavaScript/JQuery。我特別指的是在Mac應用程序中使用NSTextView,因此請在將其標記爲重複之前,確保這是另一個問題所指的內容。謝謝。
我會避免與實際紙板內容搞亂。用戶複製了格式化的文本,所以你不應該爲它們銷燬它。使用本答案底部提到的其他方法(-readSelectionFromPasteboard:或-readSelectionFromPasteboard:type:)。 –