Làm cách nào để phát hiện khi người dùng nhấn nút bàn phím "quay lại" trong khi chỉnh sửa UITextField? Tôi cần làm điều này để loại bỏ bàn phím khi người dùng nhấn nút "quay lại".
Cảm ơn.
Làm cách nào để phát hiện khi người dùng nhấn nút bàn phím "quay lại" trong khi chỉnh sửa UITextField? Tôi cần làm điều này để loại bỏ bàn phím khi người dùng nhấn nút "quay lại".
Cảm ơn.
Câu trả lời:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Đừng quên đặt đại biểu trong bảng phân cảnh ...
self.yourTextField.delegate = self;
. Thậm chí nhiều trường văn bản cũng hoạt động.
Ủy quyền là không bắt buộc, đây là một lớp lót:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
Rất tiếc, bạn không thể trực tiếp thực hiện việc này trong Bảng phân cảnh của mình (bạn không thể kết nối các hành động với điều khiển phát ra chúng trong Bảng phân cảnh), nhưng bạn có thể thực hiện việc này thông qua một hành động trung gian.
UIControlEventEditingDidEndOnExit
sự kiện chỉ được gửi nếu textFieldShouldReturn:
phương thức ủy quyền trả về YES (không từ chức trước trường văn bản).
YES
cho phương pháp này.
SWIFT 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
trong hàm enterPressed () đặt tất cả các hành vi mà bạn đang theo đuổi
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
Bây giờ bạn có thể làm điều này là bảng phân cảnh bằng cách sử dụng sự kiện đã gửi 'Did End On Exit'.
Trong lớp con bộ điều khiển chế độ xem của bạn:
@IBAction func textFieldDidEndOnExit(textField: UITextField) {
textField.resignFirstResponder()
}
Trong bảng phân cảnh của bạn cho trường văn bản mong muốn:
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
Khi nhấp vào nút enter thì phương thức ủy quyền này được gọi. Bạn có thể chụp nút trả về từ phương thức ủy quyền này.