[英]How to programmatically deselect UITextField
我有一個UITextField
,我可以單擊它並編輯其內容。 使用以下命令按下UITextField時,我正在運行代碼:
[personalCountryLabel addTarget:self action:@selector(countryPressed) forControlEvents:UIControlEventEditingDidBegin];
這提供了另一個視圖控制器。 但是,當我單擊“后退”按鈕時,UITextField仍處於選中狀態,因此文本再次運行,將我發送回視圖控制器。
我使用代碼:
textField.enabled = false;
和
textField.enabled = true;
分別關閉和打開UITextField
的編輯,但是連續執行此操作不會取消選擇UITextField
。
因此,我該如何以編程方式取消選擇UITextField
(即,行光標不再閃爍)。
如果我了解您的要求正確,那么您只需要:
[textField resignFirstResponder];
/ *以編程方式取消選擇此代碼下的Uitextfiels * /
UITextField *txtDeselect = [[UITextField alloc]initWithFrame:CGRectMake(self.view.frame.origin.x+20, self.view.frame.origin.y+20, self.view.frame.size.width-40, 40)];
[txtDeselect setBackgroundColor:[UIColor yellowColor]];
[txtDeselect setBorderStyle:UITextBorderStyleRoundedRect];
[txtDeselect setTextAlignment:NSTextAlignmentCenter];
[txtDeselect setText:@"Email"];
txtDeselect.enabled = NO;
[self.view addSubview:txtDeselect];
您是否在視圖控制器中設置了UITextField的出口和委托? 為什么為此使用UItextfield?
我建議您在呈現新的視圖控制器之前使用以下方法之一:
選項1 :
[youtextfield resignFirstResponder];
//請確保您的插座已連接&....
您可以在您的viewWillAppear上調用它
選項2:
[self.view endEditing:YES]; // this regularly
happend after present another VC)
你不應該使用shouldEndEditing
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.