Trong iPhone, tôi có chế độ xem có UITextField
. Khi tôi nhấp vào nút rõ ràng của bàn phím UITextField
sẽ biến mất, không phải văn bản trong UITextField
. samething hoạt động chính xác. Hãy đề nghị tôi, phải làm gì? Cảm ơn trước !!Khi nhấp vào bàn phím xóa của uitextfield đang biến mất, không phải văn bản
Trả lời
Thứ nhất, rà soát tất cả các khối mã liên quan đến UITextField
của bạn (đặc biệt là các mã yourTextField.hidden = YES;
)
điểm break Đặt và phân tích mỗi UITextField
đại biểu mà bạn thực hiện.
(textFieldDidEndEditing
, textFieldShouldEndEditing
, textFieldShouldReturn.etc
.)
HOẶC
Thực hiện textFieldShouldClear
đại biểu và viết mã vào đây để có thể nhìn thấy và rõ ràng của bạn UITextField
Để làm điều này, bạn phải thiết lập số clearButtonMode
như bên dưới,
yourTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
yourTextField.delegate = self;
//For active keyboard again
[yourTextField becomeFirstResponder];
Sau đó thực hiện các textFieldShouldClear
đại biểu
YourClass.h
@interface className : UIViewController <UITextFieldDelegate>
YourClass.m
-(BOOL)textFieldShouldClear:(UITextField *)textField {
yourTextField.hidden = NO;
yourTextField.text = @"";
return YES;
}
cảm ơn tất cả các câu trả lời của bạn Tôi gặp vấn đề khi tôi đang phạm sai lầm. Tôi đã làm đúng cách – Mad
Hãy thử mã này sau khi bạn đính kèm đại biểu của uitextifield
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
return true;
}
Chỉ cần chắc chắn U've cho hai
editingTextField.delegate = self;
editingTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
TextFieldShouldClear chỉ cần thiết nếu bạn cần phải làm một số tùy chỉnh :-)
Bạn đang thực hiện một số điều trong phương pháp này?
Có thể bạn đang gọi resignFirstResponder trong phương thức ủy quyền này, đó là lý do bàn phím bị loại bỏ.
Vui lòng xem qua các phương thức ủy nhiệm và kiểm tra xem bạn đang làm gì chính xác.
Chỉ cần xóa các lĩnh vực, resignFirstResponder (nếu bạn muốn ẩn bàn phím) và trở về NO/sai
Note: set Attributes inspector property of UITextField
Rõ ràng Button -> Xuất hiện trong khi chỉnh sửa
so it will display 'X' button while editing in textfield.
// Mục tiêu-C
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
textField.text = @"";
[textField resignFirstResponder];
return NO;
}
// Swift
func textFieldShouldClear(textField: UITextField) -> Bool {
textField.text = ""
textField.resignFirstResponder()
return false
}
Vấn đề này cũng xảy ra nếu bạn có
yourTextField.clearButtonMode = UITextFieldViewModeNever;
Kiểm tra dòng này và xóa nó hoặc thay đổi chế độ xem ..
Bạn có thể gửi mã cách bạn xử lý nút rõ ràng? –
Kiểm tra xem nút rõ ràng có bị chặn bởi một chế độ xem khác hay không và do đó, không nhận được sự kiện chạm. – Christopher