簡體   English   中英

如何以編程方式取消選擇UITextField

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM