2013-03-20 12 views
7

Sto creando un'app visualizzatore di testo. Attualmente ho bisogno di capacità di gestione della linea molto frequenti e precise, quindi voglio sottoclasse la classe NSTextStorage. Ma non sono riuscito a trovare alcun metodo per impostare una nuova memoria di testo su NSTextView. L'unico metodo che ho trovato è statoModo corretto per sostituire NSTextStorage in NSTextView?

-[NSLayoutManager replaceTextStorage:] 

metodo. Ma è confuso se questo è quello che stavo cercando. Perché sembra solo sostituire l'archiviazione di testo di NSLayoutManagers collegati invece di NSTextView.

Ho anche preso in considerazione la sottoclasse di NSTextView e il metodo -textStorage, ma se la classe non è progettata per la sottoclasse, creerà un risultato non definito.

Chiunque ha provato a utilizzare NSTextStorage personalizzato su NSTextView? Come posso fare questo? O è proibito dal design?

risposta

10

si può fare qualcosa di simile per cambiare l'archiviazione per un NSTextView:

NSTextStorage *newStorage = [[NSTextStorage alloc] initWithString: @"test"]; 

[aTextView.layoutManager replaceTextStorage: newStorage]; 

Dal NSTextStorage è una sottoclasse di NSMutableAttributedString si può manipolare con tutti gli stessi metodi.

Problemi correlati