我需要爲UITextField創建自定義清除按鈕(因爲我的配色方案)。我使用下面的代碼(其中類是UITextField派生類):如何停止UIButton(用作自定義清除按鈕)將UITextField作爲第一響應者辭職?
UIButton *clearButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
[clearButton setImage:[UIImage imageNamed:@"ClearButton.png"] forState:UIControlStateNormal];
[self setRightView:clearButton];
[self setRightViewMode:UITextFieldViewModeNever];
[clearButton addTarget:self action:@selector(clear:) forControlEvents:UIControlEventTouchUpInside];
這很好,主要是。問題是單擊清除按鈕會導致UITextField退出第一響應者狀態(即鍵盤消失)。我希望UITextField保持焦點。
我試着在清除按鈕的動作中恢復第一個響應者狀態,但是,如果UITextField在UITableView中並且被滾動 - 這會在鍵盤關閉和打開時在表中引起一些不希望的滾動。
我可以使用UIImageView而不是UIButton,但是當按鈕被點擊時,我沒有看到可視的「脈衝」。
那麼,有沒有辦法使UITextField在按下按鈕時保留第一響應者狀態?
我正在開發使用的是iOS 6的iPhone應用程序
[注:在「明確表示:」行動的目標只是清空文本字段,但是,無論如何,即使我沒有設置出現我的問題目標。]
感謝您的回覆。文本字段在這一點上是絕對可見的。必須讓我能夠點擊清除按鈕。 – dommer 2013-02-23 19:39:17