그래서 UITextView가있는 모달 뷰 컨트롤러를 가져오고 자판을 자동으로 팝업하고 UITextView에 포커스를두고 싶습니다.UITextView 포커스를 프로그래밍 방식으로 제공하려면 어떻게합니까?
textView.editable = YES;
textView.editable = NO;
이 그냥 나에게 해키 것, 또 다른 방법이있다 :
나는 다음을 수행하여이 작업을 수행하는 방법을 발견?그래서 UITextView가있는 모달 뷰 컨트롤러를 가져오고 자판을 자동으로 팝업하고 UITextView에 포커스를두고 싶습니다.UITextView 포커스를 프로그래밍 방식으로 제공하려면 어떻게합니까?
textView.editable = YES;
textView.editable = NO;
이 그냥 나에게 해키 것, 또 다른 방법이있다 :
나는 다음을 수행하여이 작업을 수행하는 방법을 발견?이후 UIResponder
당신이 첫 번째 응답자가 원인이되는, 텍스트 필드에 -becomeFirstResponder
메서드를 호출 할 수 있습니다 (간접적으로, 실제로 다음 UIResponder
에서 상속이되는 UIView
에서 상속하는 UIScrollView
에서 상속)에서 UITextView
상속 편집을 시작하십시오 :
[textView becomeFirstResponder];
그것은 다소 hackish 것 같습니다.
'초점 있음'에 대한 코코아 터치 용어는 '첫 번째 응답자'이고 UITextView
은 첫 번째 응답자 일 때 키보드를 표시합니다. 나는 UITextView가 첫 번째로 반응이 될 수 있도록 여러 가지 방법을 생각할 수 있지만, 가장 쉬운 방법은 뷰 컨트롤러의 viewWillAppear 또는 viewDidAppear 방법에서 아마 :
- (void)viewWillAppear:(BOOL)animated { [myTextView becomeFirstResponder]; [super viewWillAppear:animated]; }
[textView becomeFirstResponder];
스위프트 :
textView.becomeFirstResponder()
을 ViewController를로드 할 때 포커스가 특정 TextView가되도록하려면 아래와 같이 ViewDidLoad overrode 함수에 textView.becomeFirstResponder()를 배치하면됩니다.
override func viewDidLoad() {
super.viewDidLoad()
textView.becomeFirstResponder()
}
오류없이 작동합니다.
viewDidAppear은 나를 위해 작동하지만 viewWillAppear는 작동하지 않습니다. 이유가 궁금 ... –