Tôi có một trường văn bản bên trong UIScrollView và tôi muốn hiển thị nút rõ ràng khi người dùng bắt đầu chỉnh sửa. Ngoài ra tôi cần phải ẩn bàn phím khi người dùng chạm vào nền của UIScrollview (nhưng không phải là trường văn bản). Hiển thị rằng nút rõ ràng không phải là một vấn đề, vấn đề là khi nút rõ ràng được khai thác bàn phím được ẩn và trường văn bản không bị xóa. Rõ ràng vấn đề là với bộ nhận dạng cử chỉ, bởi vì phương thức xử lý việc này được kích hoạt khi nhấn nút rõ ràng (nhưng nó không được kích hoạt khi trường văn bản được khai thác). Đây là mã của tôi:Nút xóa của UITextfield ẩn bàn phím khi bên trong UIScrollView
//adding gesture recognizer so i can hide keyboard when user taps scrollview
- (void) textFieldDidBeginEditing:(UITextField *)textField
{
if (self.tapOutside == nil) self.tapOutside = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(textFieldTouchOutSide:)];
[self.scrollView addGestureRecognizer:self.tapOutside];
}
//This hides keyboard BUT IS ALSO CALLED WHEN CLEAR BUTTON IS TAPPED
- (void)textFieldTouchOutSide:(id)sender
{
[self.textfield resignFirstResponder];
}
//NEVER GETS CALLED
- (BOOL) textFieldShouldClear:(UITextField *)textField {
return YES;
}
Bất kỳ ý tưởng nào để giải quyết vấn đề này? Có lẽ cách nào tốt hơn để thêm trình nhận dạng cử chỉ? Tôi không thể nghĩ ra không có giải pháp thanh lịch ... Cảm ơn rất nhiều trước ...
không thể kiểm tra nó cho đến tuần sau, nhưng điều này có vẻ là một giải pháp ... cảm ơn rất nhiều! :) –
Bạn đã thử nghiệm chưa? Nó có hoạt động không? Nếu có, vui lòng chấp nhận câu trả lời này. – Thompsonian
Tôi đã có một lớp con UIButton tùy chỉnh cũng trên trang vì vậy tôi đã làm cho nó làKindOfClass: [UIButton class] –