2009-09-21 10 views
3

테이블이 있고 셀 중 하나에 UITextView를 유지합니다. 사용자가 탭하면 키보드가 나타납니다. 나는 그것을 제거하는 다양한 방법을 시도했다. 내 첫 번째 접근 방식은 UITextView의 테이블 셀에서 탭을 감지하는 것이었지만 텍스트보기에서 대부분을 차지하므로 적합하지 않습니다. 그런 다음 도구 모음에 단추를 추가하려고 시도하고 사용자가 키를 누를 때마다 resignFirstResponder를 사용하여 keybord가 사라지지만 작동하지 않습니다. UITextView resignFirstResponder가 작동하는 것과 동일한 뷰에있는 경우에만 보인다. 그렇다면 어떻게 다른보기에서 키보드를 제거 할 수 있습니까?UITextView에서 키보드를 제거 할 수 없습니다.

감사합니다.

답변

1

아래의 방법은 Return 키를 사용하여 UITextView 키보드를 닫습니다. 당신이 Return 키 등을 사용하지 않는 경우

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range 
replacementText:(NSString *)text 
{ 
// Any new character added is passed in as the "text" parameter 
if ([text isEqualToString:@"\n"]) { 
    // Be sure to test for equality using the "isEqualToString" message 
    [textView resignFirstResponder]; 

    // Return FALSE so that the final '\n' character doesn't get added 
    return FALSE; 
} 
// For any other character return TRUE so that the text gets added to the view 
return TRUE; 
} 

이 작동합니다 :

myTextView.delegate=self; 

그런 다음이 방법을 추가하여 컨트롤러에서

,이 같은 자기 에 UITextView의 위임을 설정 true Return 키 (예 : 새 행 추가).

+0

여러 줄을 지원하는 UITextView의 모든 아이디어가 아닙니다 ?? 그렇지 않으면 UITextField를 사용하지 않는 이유는 무엇입니까? – PaulG

1

"작동하지 않는다"는 것은 무엇을 의미합니까? txtView가 UITe4xtView 인 경우 [txtView resignFirstResponder]가 작동하지 않는 작업과 버튼을 연결한다는 의미입니까? 전에이 코드를 사용했는데 저에게 적합합니다

+0

를 클릭하면

이 나는 ​​그가 버튼의 [자기 resignFirstResponder] 같은 것을 가지고 있다고 생각 나타나지에서 키보드를 중지합니다. 설명이 잘 될 것입니다. – Amagrammer

0

컨트롤의 크기 나 의도를 알지 못하면 솔리드 추천을하기가 약간 어렵습니다. 그러나 읽기 전용 텍스트보기를 찾고 있다면 UILabel을 고려해보십시오. 많은 양의 읽기 전용 텍스트가 포함되어 있고 서식있는 서식이 필요하면 서식을 사용하여 UIWebView를 고려하십시오.

물론이 대답은 완전히 부적절 할 수 있습니다. 의도를 명확히 할 수 있습니까? 앱 진행 중 스크린 샷을 표시 할 수 있습니까?

-1

난 ... 문제의 종류,

- (BOOL)textFieldShouldReturn: tf_some_text_field { 

[tf_some_text_field resignFirstResponder]; 
[tf_another_text_field_in_the_same_view resignFirstResponder]; 

return YES; 
} 

가 도움이 희망 folowing 방법을 사용했습니다

+0

당신의 구현은 UITextField가 아니라 UITextField에서만 작동한다고 생각합니다. –

+0

textField에도 사용할 수 있습니다. –

0

보기 인터페이스 빌더의 속성 창에서 텍스트의 '편집'옵션의 선택을 취소하십시오 . 사용자가 텍스트 뷰

관련 문제