1
A
답변
6
보기/컨트롤에서 paste:
을 덮어 씁니다 (붙여 넣기 : UIResponderStandardEditActions
비공식 프로토콜의 일부 임). 간단한, 당신은이 작업을 수행 할 것 :
- (void)paste:(id)sender
{
UIPasteboard* pasteboard = [UIPasteboard generalPasteboard];
NSString* rawString = pasteboard.string;
NSString* formattedString = // do something fun with rawString here
pasteboard.string = formattedString;
[super paste:sender];
}
이있는 경우에 당신이 전화를 안하면 (애니메이션 스마일 또는 무언가를 삽입하는 등의) 문자열과 함께 정말 멋진 일을 할 필요가 없습니다 가정한다 super
하지만 직접 삽입하십시오 (UITextView
에서이 작업을 수행하는 경우 selectedRange
속성을 사용하여 올바르게 삽입 할 수 있음).
편집 : NSPasteBoard
에서 데이터를 가져 오려면 –stringForType:
또는 several other data access methods 중 하나를 사용해야합니다. 붙여 넣을 수있는 문자열인지 확인하기 위해 문자열/데이터의 유효성을 검사해야 할 수도 있습니다.
당신은 아마 super
를 호출하지만, 당신이를 NSTextView에이 일을하는 경우
[self insertText:formattedString];
을 사용할 수 없습니다. 다른 수업을 듣고 있다면 그 상황에서 무엇이 적절한 지 알아 내야합니다.
완벽한, 감사합니다! – christo16
나는이 게시물을 iPhone으로 태그했다고 생각하지만, NSPasteBoard, 특히 [super paste : sender] 부분의 구현이 더 필요합니다. – christo16
@haroldthehungry 편집을 참조하십시오. – Felixyz