2012-09-14 2 views
3

메시징 응용 프로그램을 작성 중입니다. UITextView에 메시지를 입력 할 때 사용자에게 "복사"옵션을 제공하고 싶습니다. 사용자가 "복사"버튼을 누르면 메시지를 복사하지만 popover가 반복해서 표시되고 텍스트는 계속 선택 가능합니다.모든 텍스트를 복사 한 후 UITextView 옵션 복사 및 선택 해제

어떻게 제어해야할지 모르겠다. 참조 용 소스 코드를 붙여 넣었습니다.

UITextView에 대한 하위 클래스를 작성했습니다.

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    NSLog(@"Action : %@", NSStringFromSelector(action)); 
    NSLog(@"Sender : %@", sender); 
    if (action == @selector(copy:)) 
    { 
     [self selectAll:self]; 
     //return [super canPerformAction:action withSender:sender]; 
     return YES; 
    } 
    else if (action == @selector(cut:)) 
    { 
     return NO; 
    } 
     return NO; 
} 
+0

누구든지이 문제를 해결할 수 있도록 도와 주시겠습니까? 미리 감사드립니다. – Gopinath

+0

[이 질문에] (http://stackoverflow.com/questions/1920541/enable-copy-and-paste-on-uitextfield-without-making-it-editable) 원인을 도울 것입니다 .. 그렇지 않다면 –

+0

@ Maulik 네 말이 맞아. 복사 버튼을 눌러 UITextView에서 텍스트를 복사했습니다. 복사 버튼을 숨기고 모든 UITextview 텍스트의 선택을 취소해야합니다. 저를 도와주세요? – Gopinath

답변

0

당신이 iOS5를

UITextView를 사용하는 경우는 selectedTextRange 속성을 가지고 UITextInput 프로토콜을 채택한다. 속성을 nil로 설정하십시오.

마지막 코드의 바로 위에있는 코드를 추가하십시오. return NO.

self.selectedTextRange = nil; 

희망이

나는 내 문제를 해결 한
+0

답변과 링크를 보내 주셔서 감사합니다. 나는 거기에서 더 많은 아이디어를 얻었다. 나는 내 문제를 해결했다. 다시 한번 감사드립니다. – Gopinath

+0

답변을 수락했습니다. 그러나 나는이 방법을 올바르게 사용하지 않았다. UITextView 사용법을 알려주십시오. K 나는 이것을 구글에서 볼 것입니다. 어쨌든 친구. 나는 당신이 앞으로 나를 도울 것이기를 바랍니다. 다시 한번 감사드립니다. – Gopinath

1

을하는 데 도움이됩니다. 나는 아래의 코드를 사용하여 해결했습니다.

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(copy:)) 
    { 
     [self selectAll:self]; 

     return YES; 
    } 
    else if (action == @selector(cut:)) 
    { 
     return NO; 
    } 
     return NO; 
} 


- (void)copy:(id)sender 
{ 
    UIPasteboard *pastBoard = [UIPasteboard generalPasteboard]; 
    [pastBoard setString:self.text]; 
    self.selectedTextRange = nil; 
    [self resignFirstResponder]; 
} 

덕분에 Mr.Vimal Venugopalan and Mr.Mrueg. 그것은 나를 위해 일하고있다. 그것은 어떤 사람에게 도움이 될 것입니다.

관련 문제