2013-11-26 4 views
1

내 앱을 사용하면 텍스트보기의 attributedText 속성에 속성을 적용하는 형식 지정 버튼을 클릭하여 UITextView에서 텍스트 서식을 지정할 수 있습니다. 사용자가 하나의 UITextView에서 서식있는 텍스트를 복사하여 표준 붙여 넣기 및 표준 잘라 내기/복사/붙여 넣기 메뉴를 사용하여 붙여 넣을 수있게하려고합니다.서식있는 텍스트를 UITextView에 붙여 넣는 방법은 무엇입니까?

현재 UITextView에서 서식있는 텍스트를 복사하여 Mail 응용 프로그램의 새 메시지에 붙여 넣으면 서식이 유지되므로 서식있는 텍스트의 복사가 자동으로 수행됩니다. 하지만 내 응용 프로그램에서 다른 UITextView에 서식있는 텍스트를 붙여 넣으면 일반 텍스트 만 나타납니다.

- (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]); 
    } 
} 

이 대지는 콘텐츠를 포함 저를 보여주고 다음 Text Programming Guide for iOS에서 "선택 붙여 넣기"섹션에 따라

, 내가 붙여 넣은 내용을 UITextView의 붙여 넣기 방법을 무시하고 가로 챌 수 있었다 다음 형식 : com.apple.rtfd, public.rtf, public.text 및 "Apple Web Archive pasteboard type". 텍스트의 값은 일반 텍스트 문자열이고 rtf의 값은 RTF 문자열이며 두 Apple 형식의 값은 NSData입니다.

여기가 내가 붙어 있습니다. 어떻게 이러한 항목 중 하나를 붙여 넣기 데이터에서 특성 문자열로 변환하여 UITextView를 설정할 수 있습니까?

또는 더 나은 방법은 복사 할 때 서식있는 텍스트를 자동으로 제공하는 것과 같은 방법으로 붙여 넣을 때 서식있는 텍스트를 자동으로 수락하도록 UITextView를 구성하는 방법이 있습니까?

+2

광산은 기본적으로 잘 작동하며 서식있는 텍스트를 붙여 넣을 수 있습니다. 서식있는 텍스트를 처리하도록 uitextview를 설정 했습니까? 형식이 지정된 텍스트를 복사하여 동일한 uitextview에 붙여 넣으려고 했습니까? –

+0

서식있는 텍스트를 동일한 텍스트보기로 붙여 넣으면 여전히 일반 텍스트로 나타납니다. – arlomedia

+0

필자는 일부 속성을 가질 수 있기를 원했지만 전부는 아니며 더 많은 사용자 정의 붙여 넣기/복사 동작을 원했습니다. 아마도 가치있는 통찰력을 확인하십시오. http://stackoverflow.com/a/38211885/1054573 –

답변

5

Duncan은 위의 질문에 "리치 텍스트를 처리하도록 uitextview를 설정 했습니까?"라고 물었습니다. 그 설정을 알지 못했지만 UITextView 클래스 참조를 다시 확인하고 allowsEditingTextAttributes 속성을 찾았습니다. 이전에 포맷 버튼을 제공했기 때문에 이전에는 사용하지 않았으며 Bold/Italic/Underline 옵션을 사용할 필요가 없었습니다. 하지만 UITextView에 대해 해당 속성을 YES로 설정하면 형식이 지정된 텍스트를 자동으로 수락하기 시작합니다. 아휴!

관련 문제