2012-01-31 49 views
1

我有一個UITextField這是一個Web瀏覽器的地址欄。當用戶加載頁面並且頁面加載完成時,我希望文本框將文本顏色更改爲深灰色。它這樣做很好。但是,當用戶再次編輯文本字段時,我希望文本顏色變回黑色。使用-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField方法,我嘗試使用addressBar.textColor = [UIColor blackColor];更改顏色,但不起作用。我究竟做錯了什麼?UITextField不會正確更改文本顏色

+1

你設置委託的文本字段,所以該方法被稱爲? – 2012-01-31 18:26:56

+0

我不認爲我做過。生病回去,檢查 – Slayter 2012-02-01 00:33:45

回答

1

textFieldShouldBeginEditing:被調用?如果不是,則需要將文本字段的委託設置爲實現此方法的類。

addressBar在調用委託方法時設置爲您的文本字段?

嘗試使用NSLog進行調試。

+0

在方法中,我檢查地址欄作爲文本字段,但我認爲你可能是正確的設置文本字段的代表。我認爲我沒有那樣做過。謝謝 – Slayter 2012-02-01 00:32:04

0

可能在iOS 7及更高版本上效果更好的解決方案。

如果UITextView中包含被檢測出存在的地址/電話號碼/等文字,你一定要設置tintColor改變檢測到的項目的文本顏色,就像這樣:

self.tvPhone.tintColor = [UIColor blueColor]; 
+0

兩年前回答了這個問題。正如我在接受的答覆中評論的那樣,我沒有設置textField的代表。 – Slayter 2014-08-12 15:09:54