2012-03-06 26 views
10

我在XIB中有一個視圖,我在其中使用了幾個文本字段。假設一旦視圖加載到窗口中,第一個文本字段就成爲第一個響應者。如果我按下我機器鍵盤上的Tab鍵導航到下一個文本字段;除了直接文本字段,所有其他文本字段也成爲第一響應者,並且文本字段開始編輯委託名單被調用所有文本字段。可能是什麼問題 ?當我們使用機器的鍵盤時,這也會出現在模擬器中,當我們使用藍牙鍵盤作爲iOS設備時也會如此。TextField becomeFirstResponder問題的製表鍵(鍵盤)行動

+1

我剛碰到同樣的問題。 textFieldShouldBeginEditing委託方法可用於防止編輯,但問題是如何查找是否由於製表鍵或粘貼textField而調用了textFieldShouldBeginEditing。 – Vladimir 2012-06-22 15:14:57

+0

我也遇到了同樣的問題......嚴重的是,爲什麼蘋果不regsiter tab鍵內按textfield:shouldChangeCharactersInRange:replacementString: – HurkNburkS 2014-02-12 18:42:02

回答

2

按Tab鍵=>導航到下一個文本框關於視圖中textfields的層次。

當你按下tab鍵時,文本框應該被調用的次數將與你的textfields一樣多次 - 也就是說 - 5個textfields =>一個tab鍵按下,所有5個實例將被調用。 當你按tab時,textfielddidbeginediting將只針對新文本字段的實例調用一次 - 因此,textfield的任何邏輯最好在textfielddidbeginediting委託方法中。

這些是委託方法的默認特徵,而不是問題。