UITextField 반환 키에 대한 작업을 추가하는 방법은 무엇입니까?
내 보기에는 버튼과 텍스트 필드가 있습니다.텍스트 필드를 클릭하면 키보드가 나타나고 텍스트 필드에 쓸 수 있으며 다음을 추가하여 버튼을 클릭하여 키보드를 종료할 수도 있습니다.
[self.inputText resignFirstResponder];
이제 키보드의 반환 키를 활성화하고 싶습니다.내가 키보드를 누를 때 키보드는 사라질 것이고 무슨 일이 일어날 것입니다.이거 어떻게 해요?
"자체" 가입 확인UITextFieldDelegate
입력 텍스트를 초기화합니다.
self.inputText.delegate = self;
"self"에 다음 메서드를 추가합니다.
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (textField == self.inputText) {
[textField resignFirstResponder];
return NO;
}
return YES;
}
또는 스위프트:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField == inputText {
textField.resignFirstResponder()
return false
}
return true
}
swift 3.0의 확장 스타일로
먼저 텍스트 필드에 대한 대리인을 설정합니다.
override func viewDidLoad() {
super.viewDidLoad()
self.inputText.delegate = self
}
그 다음에 따라라.UITextFieldDelegate
당신이 보기에 컨트롤러의 내선으로
extension YourViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField == inputText {
textField.resignFirstResponder()
return false
}
return true
}
}
다른 답변들은 올바르게 작동하지만, 저는 다음을 수행하는 것이 더 좋습니다.
보기 DidLoad(), 추가
self.textField.addTarget(self, action: #selector(onReturn), for: UIControl.Event.editingDidEndOnExit)
함수를 정의합니다.
@IBAction func onReturn() {
self.textField.resignFirstResponder()
// do whatever you want...
}
viewDidLoad의 textField 설정 기능에 target을 추가한 다음 관련 기능을 Selector로 추가하면 됩니다.
override func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(textFieldShouldReturn(sender:)), for: .primaryActionTriggered)
}
@objc func textFieldShouldReturn(sender: UITextField) {
textField.resignFirstResponder()
}
키보드 완료 버튼을 누를 때 "primaryActionTriggered" UIEvent에 Target-Action UIKit 메커니즘을 사용합니다.
textField.addTarget(self, action: Selector("actionMethodName"), for: .primaryActionTriggered)
언급URL : https://stackoverflow.com/questions/11553396/how-to-add-an-action-on-uitextfield-return-key
'programing' 카테고리의 다른 글
Spring: Response Entity를 사용하여 빈 HTTP 응답을 반환하는 것이 작동하지 않습니다. (0) | 2023.10.06 |
---|---|
초기화되지 않은 컬렉션 PL/SQL 참조 (0) | 2023.10.06 |
strpbrk는 무엇의 약자입니까? (0) | 2023.10.06 |
Google Maps API v3 infowwindow 닫기 이벤트/콜백? (0) | 2023.10.06 |
C/C++에서 부호 없는 오른쪽 시프트(>>>)를 수행하려면 어떻게 해야 합니까? (0) | 2023.10.06 |