UITextField 키보드를 비활성화 하시겠습니까?
텍스트보기에 숫자를 입력하기 위해 앱에 숫자 키패드를 넣었지만 숫자를 입력하려면 텍스트보기를 클릭해야합니다. 이렇게하면 원하지 않는 일반 키보드가 나타납니다.
키보드를 완전히 비활성화하려면 어떻게해야합니까? 어떤 도움이라도 대단히 감사합니다.
UITextField의 inputView 속성은 기본적으로 nil이며 표준 키보드가 표시됨을 의미합니다.
사용자 정의 입력보기 또는 더미보기 만 지정하면 키보드는 나타나지 않지만 깜박이는 커서는 계속 나타납니다.
UIView* dummyView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
myTextField.inputView = dummyView; // Hide keyboard, but show blinking cursor
키보드와 깜박이는 커서를 모두 숨기려면 다음 방법을 사용하십시오.
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO; // Hide both keyboard and blinking cursor.
}
Swift 2.x, 3.x, 4.x, 5.x의 경우
textField.inputView = UIView()
속임수를 쓰다
기존 버튼이 작동하는 방식에 따라 버튼이 깨질 수 있지만 textView의 편집 가능한 속성을 NO로 설정하면 키보드가 표시되지 않도록 할 수 있습니다.
myTextView.editable = NO
UITextField 인 경우 enabled
속성을 NO로 설정할 수 있습니다 .
UITextView 인 경우 -textViewShouldBeginEditing:
대리자에서 NO를 반환하도록 구현 하여 편집을 시작하지 않도록 할 수 있습니다. 또는 하위 클래스를 만들고 -canBecomeFirstResponder
NO를 반환하도록 재정의 할 수 있습니다 . 또는 편집 동작을 활용하고 숫자 버튼을 텍스트보기의 inputView
. 이것은 텍스트 뷰를 편집 할 때 버튼이 표시되도록합니다. 그것은 당신이 원하는 것일 수도 있고 아닐 수도 있습니다.
동일한보기에 2 개의 텍스트 필드가있을 때 동일한 문제가 있습니다. 내 목적은 한 텍스트 필드에 대해 기본 키보드를 표시하고 두 번째로 숨기고 대신 드롭 다운 목록을 표시하는 것이 었습니다.
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
방법이 단순히 2 개의 텍스트 필드에 대해 예상대로 작동하지 않았으며 찾은 유일한 해결 방법은
UIView* dummyView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
myTextField.inputView = dummyView;
myTextField.inputAccessoryView = dummyView;
myTextField.tintColor = myTextField.backgroundColor; //to hide a blinking cursor
이것은 대상 textField ( 내 경우 DropDownList) 에 대한 키보드를 완전히 숨기고 사용자가 두 번째 텍스트 필드로 전환 할 때 기본값을 표시합니다 ( 내 스크린 샷의 계정 번호 )
UITextField 키보드를 비활성화하려면 :
- Main.Storyboard로 이동
- UITextField 를 클릭 하여 선택하십시오.
- 속성 관리자 보기
- 사용자 상호 작용 활성화를 선택 취소 합니다.
UITextView 키보드를 비활성화하려면 :
- Main.Storyboard로 이동
- UITextView 를 클릭 하여 선택하십시오.
- 속성 관리자 보기
- 편집 가능한 동작 선택 취소
private void TxtExpiry_EditingDidBegin(object sender, EventArgs e)
{
((UITextField)sender).ResignFirstResponder();
}
C #에서 이것은 나를 위해 일했지만 스토리 보드를 사용하지 않습니다.
Xcode 8.2에서는 상태 "사용"옵션을 선택 취소하여 쉽게 수행 할 수 있습니다.
- 편집 할 수 없게하려는 textField를 클릭하십시오.
- 오른쪽에있는 attirube 검사기로 이동
- 상태에 대해 "사용"을 선택 취소하십시오.
또는 코드를 통해 수행하려는 경우. 이 텍스트 필드의 @IBOutlet을 만들고 이름을 지정한 다음 viewDidLoad func (또는 원하는 경우 사용자 지정)에서이 변수 이름을 다음과 같이 사용할 수 있습니다 (swift 3.0.1).
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
myTextField.isEditable = false
}
참고 URL : https://stackoverflow.com/questions/5615806/disable-uitextfield-keyboard
'IT박스' 카테고리의 다른 글
HTML 양식에서 텍스트 영역의 값을 어떻게 "미리 채울"수 있습니까? (0) | 2020.12.14 |
---|---|
screen.availHeight와 window.height ()의 차이점 (0) | 2020.12.14 |
Flask : 요청 변수의 현재 페이지 (0) | 2020.12.14 |
백 스택에서 조각 제거 (0) | 2020.12.14 |
ElasticSearch가 내 플러그인을 어디에 설치하는지 어떻게 알 수 있습니까? (0) | 2020.12.14 |