Jak wkleić tekst bogaty w UITextView?

Moja aplikacja umożliwia użytkownikom formatowanie tekstu w widoku UITextView poprzez kliknięcie niektórych przycisków formatowania, które stosują atrybuty do właściwości attributesText widoku tekstu. Chcę zezwolić użytkownikom na skopiowanie sformatowanego tekstu z jednego UITextView i wklejenie go do innego przy użyciu standardowego pulpitu i standardowego menu wycinania / kopiowania / wklejania.

Obecnie, jeśli skopiuję sformatowany tekst z UITextView i wkleję go do nowej wiadomości w aplikacji Mail, formatowanie zostanie zachowane - więc kopiowanie sformatowanego tekstu odbywa się automatycznie. Ale jeśli wkleję sformatowany tekst do innego UITextView w mojej aplikacji, pojawi się tylko zwykły tekst.

Postępując zgodnie z sekcją „Wklejanie zaznaczenia” w sekcjiPodręcznik programowania tekstu dla iOS, Udało mi się zastąpić metodę wklejania UITextView i przechwycić wklejoną treść:

- (void)paste:(id)sender {
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    NSLog(@"types available: %@", [pasteboard pasteboardTypes]);
    for (NSString *type in [pasteboard pasteboardTypes]) {
        NSLog(@"type %@ (%@): %@", type, NSStringFromClass([[pasteboard valueForPasteboardType:type] class]), [pasteboard valueForPasteboardType:type]);
    }
}

To pokazuje, że obszar roboczy zawiera treść w następujących formatach: com.apple.rtfd, public.rtf, public.text i „Apple Web Archive pasteboard type”. Wartość tekstu to zwykły ciąg tekstowy, wartość rtf to łańcuch RTF, a wartości dwóch formatów Apple to NSData.

Tu utknąłem. W jaki sposób można przetłumaczyć jeden z tych elementów z danych w tablicy na przypisany ciąg, aby ustawić dla UITextView?

Albo jeszcze lepiej, czy istnieje sposób, aby skonfigurować UITextView, aby automatycznie akceptował sformatowany tekst podczas wklejania, w taki sam sposób, w jaki automatycznie dostarcza sformatowany tekst podczas kopiowania?

questionAnswers(1)

yourAnswerToTheQuestion