문제

나는 테이블이 있고 셀 중 하나에 uitextView를 유지합니다. 사용자가 탭하면 키보드가 나타납니다. 나는 그것을 제거하기 위해 다양한 방법을 시도하고있었습니다. 나의 첫 번째 접근법은 UitextView의 테이블 셀을 탭하는 것을 감지하는 것이었지만 텍스트보기가 대부분을 차지하기 때문에 적합하지 않습니다. 그런 다음 도구 모음에 버튼을 추가하려고 시도했지만 사용자가 눌 때마다 키보드가 사임 파업 자로 사라지지만 작동하지 않습니다. UitextView 사임 사업자가 작동하는 것과 같은 관점에있을 때만 보입니다. 그렇다면 어떻게 다른 시야에서 키보드를 제거 할 수 있습니까?

감사.

도움이 되었습니까?

해결책

아래 방법은 반환 키를 사용하여 UitextView 키보드를 기각합니다.

컨트롤러에서 UitextView의 대의원을 다음과 같이 자체적으로 설정하십시오.

myTextView.delegate=self;

그런 다음이 방법을 추가하십시오.

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

리턴 키를 실제 반환 키로 사용하지 않는 경우 (예 : 새 줄 추가).

다른 팁

"작동하지 않을 것"은 무엇을 의미합니까? txtView가 귀하의 Uite4xtView 인 경우 [txtView riSignFirstResponder]가 작동하지 않는 작업과 버튼을 연관시키는 것을 의미합니까? 나는 전에이 코드를 사용했고 그것은 나를 위해 작동합니다.

컨트롤의 크기 나 의도를 알지 못하면 확실한 추천을하는 것은 약간 어렵습니다. 그러나 읽기 전용 텍스트보기를 찾고 있다면 Uilabel을 고려하지 않겠습니까? 많은 읽기 전용 텍스트가 포함되어 있고 풍부한 형식이 필요한 경우, 형식으로 UIWebView를 고려하십시오.

물론,이 대답은 완전히 부적절 할 수 있습니다. 당신의 의도를 명확히하고, 진행중인 앱의 스크린 샷을 보여줄 수 있습니까 (물론).

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

사용자가 TextView를 클릭하면 키보드가 표시되지 않습니다.

나는 그런 종류의 문제, following 방법을 사용합니다.

- (BOOL)textFieldShouldReturn: tf_some_text_field {

[tf_some_text_field resignFirstResponder];
[tf_another_text_field_in_the_same_view resignFirstResponder];

return YES;
}

도움이되기를 바랍니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top