UI 텍스트 필드에서 반환 키를 누를 때 키보드를 숨기는 방법은 무엇입니까?
텍스트 필드를 클릭하면 키보드가 나타납니다.사용자가 리턴 키를 눌렀을 때 어떻게 숨기나요?
먼저 UITextField에 대한 파일 대리인을 만듭니다.
@interface MYLoginViewController () <UITextFieldDelegate>
@end
그런 다음 이 메서드를 코드에 추가합니다.
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
추가self.textField.delegate = self;
인viewDidLoad
선언:
[yourTextField setDelegate:self];
그런 다음 대리자 메서드의 재정의를 포함합니다.
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
스위프트에서 이걸 시도해 보세요.
1단계: 딜러를 자신으로 설정textField
textField.delegate = self
2단계: 클래스 선언 아래에 이 UITextFieldDelegate를 추가합니다.
extension YourClassName: UITextFieldDelegate {
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
}
신속하게 다음과 같은 작업을 수행합니다.
당신의 첫 번째ViewController
이것을 실행합니다.UITextFieldDelegate
예를 들면.
class MyViewController: UIViewController, UITextFieldDelegate {
....
}
이제 대리인을 에 추가합니다.TextField
반환이 탭될 때 키보드를 해제할 수 있습니다.viewDidLoad
아래와 같은 메소드 또는 초기화할 위치.예를 들면.
override func viewDidLoad() {
super.viewDidLoad()
myTextField.delegate = self
}
이제 이 방법을 추가합니다.
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
스위프트 4
대리자 설정UITextField
뷰 컨트롤러에서,field.delegate = self
다음과 같은 경우:
extension ViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
// don't force `endEditing` if you want to be asked for resigning
// also return real flow value, not strict, like: true / false
return textField.endEditing(false)
}
}
의 대표자를 정하다.UITextField
그리고 오버라이드,textFieldShouldReturn
메소드, 그 메소드에서는 두 줄 뒤에 쓰기만 하면 됩니다.
[textField resignFirstResponder];
return YES;
바로 그겁니다.코드를 작성하기 전에 대표자를 설정하는 것을 잊지 마십시오.UITextField
속성 창에서 Return 키 유형을 "Done"(명령 + 시프트 + I)으로 설정합니다.
이거 해봐요.
[textField setDelegate: self];
그런 다음 textField 위임 메서드에서
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
이 클래스를 정의한 다음 클래스를 사용하도록 텍스트 필드를 설정하면 반환을 자동으로 누를 때 전체 숨기기 키보드가 자동으로 자동화됩니다.
class TextFieldWithReturn: UITextField, UITextFieldDelegate
{
required init?(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)
self.delegate = self
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool
{
textField.resignFirstResponder()
return true
}
}
그런 다음 스토리보드에서 클래스를 사용하도록 필드를 설정하기만 하면 됩니다.
IBAaction과 "Primary Action Triggered"(UITextField에서 마우스 오른쪽 단추 클릭)를 연결하고 첫 번째 응답자를 위임 없이 사임할 수 있습니다.예(스위프트 4):
@IBAction func textFieldPrimaryAction(_ sender: UITextField) {
sender.resignFirstResponder()
...
}
네, 초보자에게는 좀 헷갈릴 수도 있을 것 같습니다.적어도 Swift4에서는 위의 모든 것을 혼합한 것이 정답이라고 생각합니다.
확장을 만들거나 이를 사용할 View 컨트롤러를 사용하여 UITextFieldDelegate를 구현해야 합니다.재사용 가능성을 위해 확장 기능을 사용하는 것이 더 쉽다는 것을 알게 되었습니다.
extension UIViewController : UITextFieldDelegate {
...
}
그러나 대안은 다음과 같이 작동합니다.
class MyViewController: UIViewController {
...
}
확장 또는 ViewController에서 이전 옵션에 따라 textFieldShouldReturn 메서드를 추가합니다.
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
return textField.endEditing(false)
}
viewDidLoad 메서드에서 텍스트 필드의 대리자를 self로 설정합니다.
@IBOutlet weak var myTextField: UITextField!
...
override func viewDidLoad() {
..
myTextField.delegte = self;
..
}
이상입니다.자, 여러분이 누를 때return
그textFieldShouldReturn
호출해야 합니다.
특정키에대키를숨기면려드보한보를 합니다.[self.view resignFirstResponder];
보에서키숨기사면용려를 합니다.[self.view endEditing:true];
[textField resignFirstResponder];
사용
언급URL : https://stackoverflow.com/questions/3573955/how-to-hide-the-keyboard-when-i-press-return-key-in-a-uitextfield
'programing' 카테고리의 다른 글
git-reflog가 각 항목과 함께 날짜를 표시하도록 하는 방법이 있습니까? (0) | 2023.05.07 |
---|---|
윈도우즈 Azure SQL 데이터베이스의 교차 구독 데이터베이스 복사 (0) | 2023.05.07 |
SQL 절에서 WHERE 1=1 AND를 사용하는 이유는 무엇입니까? (0) | 2023.05.07 |
내장된 리소스 텍스트 파일을 읽는 방법 (0) | 2023.05.07 |
WPF 창을 내 앱의 다른 모든 창 위에 표시하는 방법(시스템 전체가 아님)? (0) | 2023.05.07 |