UITextField彈出鍵盤右上角完成按鈕

前言

對做iOS開發(fā)的程序猿們來說UITextField肯定很熟悉规辱,在點(diǎn)擊UITextField后會彈出鍵盤,輸入完之后我們希望鍵盤退出否則會遮擋住界面萨螺,所以我們需要退出鍵盤桐经。其實(shí)現(xiàn)在基本上第三方鍵盤都有這個功能,但是蘋果爸爸的鍵盤并沒有這個功能想许,保不齊哪個用戶喜歡用蘋果爸爸的鍵盤,所以我們還是得實(shí)現(xiàn)這個功能。

簡單的方案點(diǎn)擊鍵盤以外的地方讓鍵盤退出伸刃,但是這種方案在這個界面是TableView或者當(dāng)前界面存在多個輸入入口時(shí)谎砾,用戶體驗(yàn)不是很好逢倍。所以這種簡單的粗暴的方案不能解決問題捧颅,畢竟用戶是我們爸爸。

所以我們采用第二種方案较雕,在UITextField彈出鍵盤上加一個按鈕用來退出鍵盤碉哑。

  • 方法一:在UITextField的代理里復(fù)寫textFieldinputAccessoryView
    第一步:在當(dāng)前控制器創(chuàng)建一個View
- (UIView*)customView {
      if (!_customView) {
       _customView =[[UIView alloc]initWithFrame:CGRectMake(-1, 0, ScreenWidth+2, 40)];
       _customView.backgroundColor =  UIColorFromRGB(0xd8d8d8);
       UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(ScreenWidth - 55, 5, 40, 28)];
        [btn setTitle:@"完成" forState:UIControlStateNormal];
        [btn setTitleColor:UIColorFromRGB(0x333333) forState:UIControlStateNormal];
        btn.titleLabel.font = [UIFont systemFontOfSize:14];
        btn.backgroundColor = [UIColor clearColor];
        [btn addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
        [_customView addSubview:btn];
     }
return _customView;
}

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

第二步:在UITextField代理方法textFieldShouldBeginEditing:中復(fù)寫inputAccessoryView

- (BOOL)textFieldShouldBeginEditing:(UITextField*)textField {
    textField.inputAccessoryView = self.customView; // 往自定義view中添加各種UI控件(以UIButton為例)
    CGRect frame = [self.view convertRect:self.view.bounds fromView:textField];
   NSLog(@"%@",NSStringFromCGRect(frame));   
   return YES;
}
  • 方法二:在textFielddrawRect方法里繪制
    自定義一個textField,繼承與UITextField亮蒋,然后在其drawRect方法中繪制一個按鈕
- (void)drawRect:(CGRect)rect {
    [super drawRect:rect];
   UIToolbar *bar = [[UIToolbar alloc] initWithFrame:CGRectMake(0,0, kScreenWidth,44)];
   UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(kScreenWidth - 60, 7,50, 30)];
    [button setTitle:@"完成"forState:UIControlStateNormal];
    [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    button.layer.borderColor = [UIColor redColor].CGColor;
    button.layer.borderWidth =1;
    button.layer.cornerRadius =3;
    [bar addSubview:button];
   self.inputAccessoryView= bar;
    [button addTarget:self action:@selector(print) forControlEvents:UIControlEventTouchUpInside];
}

- (void) print {
    
NSLog(@"button click”);
 [[self superview] endEditing:YES];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扣典,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子慎玖,更是在濱河造成了極大的恐慌贮尖,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趁怔,死亡現(xiàn)場離奇詭異湿硝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)润努,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門关斜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人铺浇,你說我怎么就攤上這事痢畜。” “怎么了鳍侣?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵丁稀,是天一觀的道長。 經(jīng)常有香客問我倚聚,道長线衫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任秉沼,我火速辦了婚禮桶雀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唬复。我一直安慰自己矗积,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布敞咧。 她就那樣靜靜地躺著棘捣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪休建。 梳的紋絲不亂的頭發(fā)上乍恐,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天评疗,我揣著相機(jī)與錄音,去河邊找鬼茵烈。 笑死百匆,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呜投。 我是一名探鬼主播加匈,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼仑荐!你這毒婦竟也來了雕拼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤粘招,失蹤者是張志新(化名)和其女友劉穎啥寇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洒扎,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辑甜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逊笆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栈戳。...
    茶點(diǎn)故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖难裆,靈堂內(nèi)的尸體忽然破棺而出子檀,到底是詐尸還是另有隱情,我是刑警寧澤乃戈,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布褂痰,位于F島的核電站,受9級特大地震影響症虑,放射性物質(zhì)發(fā)生泄漏缩歪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一谍憔、第九天 我趴在偏房一處隱蔽的房頂上張望匪蝙。 院中可真熱鬧,春花似錦习贫、人聲如沸逛球。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颤绕。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奥务,已是汗流浹背物独。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留氯葬,地道東北人挡篓。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像溢谤,于是被迫代替她去往敵國和親瞻凤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評論 2 350

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