iOS開發(fā)隱藏鍵盤方法總結(jié)

一汹想、隱藏自身軟鍵盤

當(dāng)對于有多個(gè)UITextField控件都想通過點(diǎn)擊“Return”來隱藏自身軟鍵盤的情況,這時(shí)的最好辦法是使用Did End on Exit事件沿盅。在點(diǎn)擊軟鍵盤右下角的“Return”按鈕后童谒,會(huì)觸發(fā)該事件。

該事件有一個(gè)sender參數(shù)表示當(dāng)前文本框拦赠,這樣便可以編寫一個(gè)通用的事件處理方法(.m文件)巍沙。

- (IBAction)TextField_DidEndOnExit:(id)sender {

// 隱藏鍵盤.

[sender resignFirstResponder];

}

然后在.h文件中填寫該方法的聲明——

- (IBAction)TextField_DidEndOnExit:(id)sender;

回到storyboard,并按command+option+enter打開輔助窗口荷鼠,使輔助窗口顯示.h文件句携。 選中一個(gè)UITextField控件,點(diǎn)擊鼠標(biāo)右鍵彈出面板允乐,鼠標(biāo)左鍵按住Did End on Exit事件旁邊的圓圈矮嫉,然后拖曳到右側(cè).h文件的TextField_DidEndOnExit方法上,便會(huì)建立好事件連接牍疏。 隨后按照同樣的做法蠢笋,將其他UITextField控件的Did End on Exit事件也連接到TextField_DidEndOnExit方法。

運(yùn)行一下鳞陨,可發(fā)現(xiàn)每個(gè)文本框的軟鍵盤都可以通過點(diǎn)擊“Return”來隱藏了昨寞。

(iOS開發(fā)交流技術(shù)群:563513413,不管你是大牛還是小白都?xì)g迎入駐 炊邦,分享BAT,阿里面試題编矾、面試經(jīng)驗(yàn),討論技術(shù)馁害, 大家一起交流學(xué)習(xí)成長U巍)

二、點(diǎn)擊Return自動(dòng)轉(zhuǎn)到下個(gè)文本框

當(dāng)頁面中有很多個(gè)文本框時(shí)碘菜,如果每次都需要點(diǎn)文本框激活軟鍵盤凹蜈、輸入后點(diǎn)擊Return隱藏軟鍵盤、再點(diǎn)擊下一個(gè)文本框……這樣操作起來太繁瑣了忍啸。 于是我們希望能夠?qū)崿F(xiàn)點(diǎn)擊Return時(shí)能夠自動(dòng)轉(zhuǎn)到下一個(gè)文本框仰坦。尤其是對于最后一個(gè)文本框,希望能夠在點(diǎn)擊Return時(shí)執(zhí)行下一步操作计雌。

例如對于登錄頁面悄晃。它上面有 賬號(hào)文本框(nameTextField)、密碼文本框(passTextField)、登錄按鈕(loginButton)妈橄。

我們希望——點(diǎn)擊賬號(hào)文本框軟鍵盤的Return時(shí)跳轉(zhuǎn)到密碼文本框庶近,點(diǎn)擊密碼文本框軟鍵盤的Return時(shí)執(zhí)行登錄。

因?yàn)檫@兩個(gè)文本框的功能不同眷蚓,不能像上一節(jié)那樣寫一個(gè)TextField_DidEndOnExit做統(tǒng)一處理鼻种,而應(yīng)該分別建立各自的事件處理方法。

回到storyboard沙热,右擊賬號(hào)文本框(nameTextField)彈出面板叉钥,按住Did End on Exit事件旁邊的圓圈,然后拖曳到右側(cè).h文件的空白地方篙贸,此時(shí)會(huì)彈出一個(gè)對話框給方法命名投队。輸入名稱 (nameTextField_DidEndOnExit)后回車確定,便自動(dòng)生成了該事件方法歉秫。

隨后按照同樣的做法蛾洛,為密碼文本框(passTextField)的Did End on Exit事件連接方法(passTextField_DidEndOnExit)。

來到.m文件雁芙,填寫具體代碼——

- (IBAction)nameTextField_DidEndOnExit:(id)sender {

// 將焦點(diǎn)移至下一個(gè)文本框.

[self.passTextField becomeFirstResponder];

}

- (IBAction)passTextField_DidEndOnExit:(id)sender {

// 隱藏鍵盤.

[sender resignFirstResponder];

// 觸發(fā)登陸按鈕的點(diǎn)擊事件.

[self.loginButton sendActionsForControlEvents:UIControlEventTouchUpInside];

}

對于賬號(hào)文本框轉(zhuǎn)密碼文本框轧膘,不需要隱藏軟鍵盤,只需要調(diào)用becomeFirstResponder激活新的文本框就行了兔甘。

對于密碼文本框Return后執(zhí)行登錄丹皱。因?yàn)椴辉傩枰@示軟鍵盤胞锰,所以還是得調(diào)用resignFirstResponder隱藏軟鍵盤卒稳,然后觸發(fā)登錄按鈕(loginButton)的UIControlEventTouchUpInside事件進(jìn)行登錄突琳。

運(yùn)行一下,可發(fā)現(xiàn)已經(jīng)達(dá)到我們希望的效果了澡匪。點(diǎn)擊賬號(hào)文本框軟鍵盤的Return時(shí)跳轉(zhuǎn)到密碼文本框熔任,點(diǎn)擊密碼文本框軟鍵盤的Return時(shí)執(zhí)行登錄。

怎么都是“Return”唁情,轉(zhuǎn)換文本框與執(zhí)行登錄明明是不同的功能疑苔?

于是將賬號(hào)文本框的Return Key屬性設(shè)為“Next”,將密碼文本框的Return Key屬性設(shè)為“Done”甸鸟,使界面與功能一致惦费。

三、輕觸背景隱藏軟鍵盤

只能通過Return關(guān)閉軟鍵盤太不靈活了抢韭,應(yīng)該提供輕觸背景隱藏軟鍵盤的功能薪贫。

storyboard,點(diǎn)擊背景View刻恭,將它的Custom Class設(shè)置為UIControl瞧省,這樣才會(huì)出現(xiàn)Touch Down事件。

右擊背景View彈出面板,按住Touch Down事件旁邊的圓圈臀突,然后拖曳到右側(cè).h文件的空白地方建立該事件的處理方法勉抓。

來到.m文件,填寫具體代碼——

- (IBAction)View_TouchDown:(id)sender {

// 發(fā)送resignFirstResponder.

[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

}
``

以下文章可以做一個(gè)學(xué)習(xí)參考:
GCD面試要點(diǎn)
block面試要點(diǎn)
Runtime面試要點(diǎn)
RunLoop面試要點(diǎn)
內(nèi)存管理面試要點(diǎn)
MVC候学、MVVM面試要點(diǎn)
網(wǎng)絡(luò)性能優(yōu)化面試要點(diǎn)
網(wǎng)絡(luò)編程面試要點(diǎn)
KVC&KVO面試要點(diǎn)
數(shù)據(jù)存儲(chǔ)面試要點(diǎn)
混編技術(shù)面試要點(diǎn)
設(shè)計(jì)模式面試要點(diǎn)
UI面試要點(diǎn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市纵散,隨后出現(xiàn)的幾起案子梳码,更是在濱河造成了極大的恐慌,老刑警劉巖伍掀,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掰茶,死亡現(xiàn)場離奇詭異,居然都是意外死亡蜜笤,警方通過查閱死者的電腦和手機(jī)濒蒋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來把兔,“玉大人沪伙,你說我怎么就攤上這事∠睾茫” “怎么了围橡?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長缕贡。 經(jīng)常有香客問我翁授,道長,這世上最難降的妖魔是什么晾咪? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任收擦,我火速辦了婚禮,結(jié)果婚禮上谍倦,老公的妹妹穿的比我還像新娘塞赂。我一直安慰自己,他們只是感情好剂跟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布减途。 她就那樣靜靜地躺著,像睡著了一般曹洽。 火紅的嫁衣襯著肌膚如雪鳍置。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天送淆,我揣著相機(jī)與錄音税产,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛辟拷,可吹牛的內(nèi)容都是我干的撞羽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼衫冻,長吁一口氣:“原來是場噩夢啊……” “哼诀紊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起隅俘,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤邻奠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后为居,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碌宴,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年蒙畴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贰镣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡膳凝,死狀恐怖碑隆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鸠项,我是刑警寧澤干跛,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站祟绊,受9級特大地震影響楼入,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜牧抽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一嘉熊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧扬舒,春花似錦阐肤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晨炕,卻和暖如春衫画,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓮栗。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工削罩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瞄勾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓弥激,卻偏偏與公主長得像进陡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子微服,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容