簡體   English   中英

在iOS7中點擊UITextFields

[英]Tapping between UITextFields in iOS7

選擇UITextField並顯示鍵盤時,如果我點擊視圖的其他部分,鍵盤將消失。

如果我點擊另一個UITextField ,鍵盤保持不動,第一個文本字段被取消選擇,沒有任何反應。 然后我需要再次點擊其他UITextFIeld以進行選擇並出現鍵盤。

有沒有辦法在選擇第一個UITextField時立即訪問第二個UITextField?

如果你在textFieldDidEndEditing重新加載tableview,你將以這種方式中斷選擇。 不要那樣做。

嘗試一下,按下另一個視圖應該調用fn以下。

-(void)disappearKey{
[self.view endEditing:YES];
}

鍵盤消失后,點擊任意文本字段,都會出現鍵盤。

首先,我認為當點擊另一個UITextField或UITextView時,鍵盤不會被解除並再次打開這個錯誤。 應該報告,Apple應該修復它。

使用文本字段委托方法並注冊鍵盤通知,如果用戶點擊另一個文本字段並且鍵盤未關閉並重新打開,則應該可以手動跟蹤。 至少你應該能夠檢測到何時發生這種情況並通過[textField resignFirstResponder]手動關閉鍵盤;

鍵盤通知如下:

UIKeyboardWillShowNotification
UIKeyboardDidShowNotification
UIKeyboardWillHideNotification
UIKeyboardDidHideNotification

我很確定你知道UITextfield和textview委托方法

 – textFieldShouldBeginEditing: 
 – textFieldDidBeginEditing:
 – textFieldShouldEndEditing:
 – textFieldDidEndEditing:

我目前不是一個活躍的項目所以我不確定我是否只是忽略了這個問題,但我不記得這件事發生在我身上。

  • 你可以使用BSKeyboardControls 只是看看演示並決定使用與否。

  • 或者您可以按順序將標記設置為每個文本字段
    在uiview。 然后使用下面的代碼。

     -(BOOL)textFieldShouldReturn:(UITextField*)textField { NSInteger nextTag = textField.tag + 1; UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; if (nextResponder) { [nextResponder becomeFirstResponder]; } else { [textField resignFirstResponder]; } return NO; } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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