我在我的视图上以编程方式添加了一个UITexfield。当我使用键盘并点击返回按钮时,texfield会自动清除,我不想这样做。
这是我的代码;
UITextField * eventListSeractTextField = [[UITextField alloc]initWithFrame:CGRectMake(headerView.frame.size.width-112,4, 110, 20)];
eventListSeractTextField.backgroundColor=[UIColor whiteColor];
eventListSeractTextField.layer.cornerRadius=3.0f;
eventListSeractTextField.tag=101;
eventListSeractTextField.delegate=self;
eventListSeractTextField.autocapitalizationType=UITextAutocapitalizationTypeNone;
eventListSeractTextField.autocorrectionType=UITextAutocorrectionTypeNo;
eventListSeractTextField.spellCheckingType=UITextSpellCheckingTypeNo;
eventListSeractTextField.clearButtonMode = UITextFieldViewModeAlways;
eventListSeractTextField.returnKeyType = UIReturnKeySearch;
eventListSeractTextField.placeholder=@"Search";
eventListSeractTextField.clearsOnBeginEditing=false;
[eventListSeractTextField setClearsOnBeginEditing:false];
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
switch (textField.tag) {
case 101:
[textField resignFirstResponder];
return false;
break;
default:
return YES;
}
return YES;
}
我该如何避免这种情况?
答案 0 :(得分:0)
我的猜测是,每次在代码中完成后都会重新创建textview。检查你在哪里调用这行代码:
UITextField * eventListSeractTextField = [[UITextField alloc]initWithFrame:CGRectMake(headerView.frame.size.width-112,4, 110, 20)];
您应该只需要在viewDidLoad中创建一次textView。如果您熟悉故事板,那么更简单的方法是在故事板中进行操作