十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開(kāi)發(fā)_APP開(kāi)發(fā),低調(diào)、敢創(chuàng)新、有情懷!
      南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
      小程序
      tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開(kāi)百恒網(wǎng)絡(luò)微信小程序

      百恒網(wǎng)絡(luò)

      南昌百恒網(wǎng)絡(luò)

      TextField和TextView控件中如何關(guān)閉鍵盤?

      百恒網(wǎng)絡(luò) 2017-09-28 6066

      在ios開(kāi)發(fā)控件中,TextField和TextView與Label一樣,也是文本類控件,是可以編輯文本內(nèi)容的。在控件內(nèi)容編輯方面,三者都可以通過(guò)代碼、雙擊控件和屬性檢查器中的Text屬性來(lái)實(shí)現(xiàn),但是TextField和 TextView比Label多了一個(gè)鍵盤的使用。一旦TextField和TextView等控件處于編輯狀態(tài),系統(tǒng)就會(huì)智能地彈出鍵盤,而不需要做任何額外的操作。但是,關(guān)閉鍵盤就不像打開(kāi)鍵盤這樣順利了,我們需要用代碼去實(shí)現(xiàn)。 那么在TextField和TextView控件中如何關(guān)閉鍵盤?下面南昌APP制作開(kāi)發(fā)公司-百恒網(wǎng)絡(luò)就來(lái)為大家介紹一下:

      在介紹關(guān)閉鍵盤的方法之前,我們先了解鍵盤不能自動(dòng)關(guān)閉的原因。當(dāng)TextField或TextView處于編輯狀態(tài)時(shí),這些控件變成了“第一響應(yīng)者”。要關(guān)閉鍵盤,就要放棄“第一響應(yīng)者”的身份。在iOS中,事件沿著響應(yīng)者鏈從一個(gè)響應(yīng)者傳到下一個(gè)響應(yīng)者,如果其中一個(gè)響應(yīng)者沒(méi)有對(duì)事件做出響應(yīng),那么該事件會(huì)重新向下傳遞。

      顧名思義,“第一響應(yīng)者”是響應(yīng)者鏈中的第一個(gè),不同的控件成為“第一響應(yīng)者”之后的“表現(xiàn)”不太一致。TextField和TextView等輸入類型的控件會(huì)出現(xiàn)鍵盤,而我們只有讓這些控件放棄它們的“第一響應(yīng)者”身份, 鍵盤才會(huì)關(guān)閉。

      要想放棄“第一響應(yīng)者”身份,需要調(diào)用UIResponder類中的resignFirstResponder方法,此方法一般在點(diǎn)擊 鍵盤的return鍵或者是背景視圖時(shí)觸發(fā),百恒網(wǎng)絡(luò)為大家介紹一個(gè)采用點(diǎn)擊return鍵關(guān)閉鍵盤的方式。要實(shí)現(xiàn)這個(gè)操作,可以利用 TextField和TextView的委托協(xié)議實(shí)現(xiàn)。相關(guān)的實(shí)現(xiàn)代碼是在ViewController文件中,具體如下所示:

      class ViewController: UIViewController, UITextFieldDelegate, UITextViewDelegate {

      override func viewDidLoad() {

      super.viewDidLoad()

      }

      override func didReceiveMemoryWarning() {

      super.didReceiveMemoryWarning()

      }

      //通過(guò)委托實(shí)現(xiàn)放棄第一響應(yīng)者

      //UITextField委托方法

      func textFieldShouldReturn(textField: UITextField) -> Bool { textField.resignFirstResponder() ①

      return true

      }

      /通過(guò)委托實(shí)現(xiàn)放棄第一響應(yīng)者

      //UITextView委托方法

      func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {

      if (text == "n") {

      textView.resignFirstResponder()

      return false

      }

      return true

      }

      }

      @implementation ViewController

      //通過(guò)委托來(lái)放棄“第一響應(yīng)者”

      #pragma mark - UITextField Delegate Method

      - (BOOL)textFieldShouldReturn:(UITextField *)textField

      {

      [textField resignFirstResponder]; ①

      return YES;

      }

      //通過(guò)委托來(lái)放棄“第一響應(yīng)者”

      #pragma mark - UITextView Delegate Method

      -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:

      (NSRange)range replacementText:(NSString *)text

      {

      if([text isEqualToString:@"n"]) {

      [textView resignFirstResponder];

      return NO;

      }

      return YES;

      }

      @end

      在上述代碼中,textFieldShouldReturn:方法是UITextFieldDelegate委托協(xié)議中定義的方法,在用戶點(diǎn)擊鍵 盤時(shí)調(diào)用,第①行代碼用于關(guān)閉鍵盤。與此類似,textView:shouldChangeTextInRange:replacementText:是由 UITextViewDelegate委托協(xié)議提供的方法,它也是在用戶點(diǎn)擊鍵盤時(shí)被調(diào)用。

      另外,如果界面中有很多控件,或者控件的位置比較靠近屏幕下方,控件就很可能會(huì)被彈出的鍵盤擋住,此時(shí)可以添加UIScrollView控件來(lái)解決。

      關(guān)于在TextField和TextView控件中關(guān)閉鍵盤的方法就已經(jīng)講完了,如果大家還有哪些不太明白的地方可隨時(shí)來(lái)電和我們聯(lián)系,百恒專業(yè)為您講解。此外,本公司專業(yè)為您提供南昌APP開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、微信開(kāi)發(fā)、網(wǎng)站推廣等服務(wù),如有需要,歡迎大家來(lái)電咨詢,洽談合作!


      400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開(kāi)百恒網(wǎng)絡(luò)小程序

      歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      人妻少妇精品视频专区| 久久国产精品无码网站| 精品一卡2卡三卡4卡乱码精品视频| 99精品国产高清一区二区三区| 国产精品极品美女自在线| 精品久久久久成人码免费动漫 | 精品女同一区二区三区免费站| 思99热精品久久只有精品| 国产成人综合日韩精品无码| 亚洲AV无码之日韩精品| 国产精品高清在线观看93| 精品日韩99亚洲的在线发布| 亚洲AV永久纯肉无码精品动漫 | 久久精品国产亚洲AV无码娇色| 国内精品手机在线观看视频| 国产一区二区三区在线观看精品| 在线日韩麻豆一区| 日韩人妻无码一区二区三区久久| 精品免费国产一区二区| 亚洲中文字幕精品久久| 99久久99久久精品免费看蜜桃| 99re热这里只有精品视频| 久久精品国产成人AV| 久久久久久一区国产精品| 久久精品国产黑森林| 东京热TOKYO综合久久精品| 国产韩国精品一区二区三区| 日韩成人在线视屏| 亚洲AV无码之日韩精品| 日韩国产成人无码av毛片| 日韩av午夜在线观看| 国产成人久久精品亚洲小说 | 亚洲国产精品一区二区九九| 国产成人精品福利网站人| 国产国产成人久久精品杨幂| 亚洲a∨无码精品色午夜| 国产精品乱码一区二区三| 欧洲精品一卡2卡三卡4卡乱码| 国产精品第44页| 国产精品入口麻豆完整版| 亚洲av日韩av欧v在线天堂|