2012-08-14 2 views
-2

내 UITextView에서 편집을 마쳤습니다. 내 textViewShouldEndEditing을 호출하여 키보드 포커스를 제거하고 싶습니다. 나는 리턴 키로 시도했지만 새로운 라인을 추가하고있다. UITextView 용 키보드를 제거하려면 어떻게해야합니까? 나는 SentNotification이있는 텍스트 필드를 사용했다. 여기서 무엇을해야할까요?UITextview에 textViewShouldEndEditing 메서드를 호출하는 방법은 무엇입니까?

키보드를 닫 리턴 키를 활성화하기 위해
+0

[self.txtMobileNumber resignFirstResponder]; –

+0

키보드에 완료 버튼이있는 도구 모음을 추가하는 것이 더 좋습니다 –

+0

다음을 사용할 수 있습니다. [self.myTextView resignFirstResponder]; –

답변

2

,

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    return NO; // to not insert the return character 
} 

[_textView resignFirstResponder]; 
+0

문제는 TextView입니다. – Feroz

+0

죄송합니다 - 간과 한 것입니다. – Mundi

+0

내 질문을 이해하지 못했다고 생각합니다. 첫 번째 응답자를 사퇴 키를 무시할 수 없도록 여러 줄을 추가하려고합니다. 이 경우 키보드를 제거하고 싶습니다. Return 키를 제외하고 키보드 포커스를 제거하고 싶습니다를 클릭하십시오. 어떤 아이디어? – Feroz

2

하는 경우와 키보드를 일축 탐색 표시 줄에 버튼을 구현 구현 반환 키를 누른 후 키보드를 숨기려면 다음을 구현하십시오. UITextViewDelega 테 방법이위한 버튼을 생성해야하므로

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
    // Did user press return key? 
    if([text isEqualToString:@"\n"]) { 
     // tell the textView to resign being first responder, which will also hide the keyboard 
     [textView resignFirstResponder]; 

     // Don't allow textView to insert a LF into its text property 
     return NO; 
    } 

    // allow all other edits 
    return YES; 
} 

대신 여러 줄을 원한다면

, 당신은, 리턴 키를 사용할 수 없습니다. 을 감안할 때 당신의 ViewController가 UINavigationController가의 탐색 스택에 누르면, 당신의 init 메소드에 다음 코드를 추가합니다 :

- (void)done; 
{ 
    [self.textView resignFirstResponder]; 
} 

이 :

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonItemStyleDone 
                      target:self 
                      action:@selector(done)]; 
self.navigationItem.rightBarButtonItem = doneButton; 
[doneButton release]; 

완료 방법은 간단하게되는 첫 번째로 반응을 사임하는 UITextView를 알려줍니다 분명히 속성이나 IBOutlet을 통해 UITextView에 액세스 할 수 있어야합니다.

[button addTarget:self action:@selector(done) forControlEvents:UIControlEventTouchUpInside]; 
+0

여러 줄을 입력하고 싶습니다. 어떻게하면 되나요? – Feroz

+0

그에 따라 답변을 확장했습니다. 희망이 도움이됩니다. – Tafkadasoh

0
: 당신이 (당신의 뷰 XIB 파일에 인터페이스 빌더를 통해 예를 들어)보기에 간단한있는 UIButton을 추가합니다은 UINavigationController를 사용하고 대상 활동을 통해 수행 메소드를 호출하지 않는 경우

.h 파일에서 텍스트 뷰 UITextViewDelegate에 대한 대리인을 설정하고 키보드를 반환하는 다음 메서드를 작성해야합니다.

-(void) textViewDidEndEditing:(UITextView *)textView 
{ 
    [textView resignFirstResponder]; 
} 
관련 문제