2013-03-20 14 views
7

Tworzę aplikację do przeglądania tekstu. Obecnie potrzebuję bardzo częstych i precyzyjnych możliwości obsługi linii, więc chcę podklasować klasę NSTextStorage. Ale nie mogłem znaleźć żadnej metody, aby ustawić nową pamięć tekstową na NSTextView. Jedyną metodą, jaką mogłem znaleźć, była metoda: . Ale to jest zagmatwane, czy tego właśnie szukałem. Ponieważ wydaje się po prostu zastąpić przechowywanie tekstu połączonych menedżerów NSLayoutManagers zamiast NSTextView.Właściwy sposób na zastąpienie NSTextStorage w NSTextView?

Pod uwagę wziąłem również podklasę NSTextView i przesłanianie metody -textStorage, ale jeśli klasa nie jest zaprojektowana do podklasy, wynik będzie niezdefiniowany.

Ktoś próbował użyć niestandardowego NSTextStorage na NSTextView? Jak mogę to zrobić? Czy jest to zabronione przez projekt?

Odpowiedz

10

można zrobić coś takiego, aby zmienić przechowywanie na NSTextView:

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

[aTextView.layoutManager replaceTextStorage: newStorage]; 

Od NSTextStorage jest podklasą NSMutableAttributedString można manipulować ze wszystkimi tymi samymi metodami.

Powiązane problemy