1. 程式人生 > >IOS開發點選空白處隱藏虛擬鍵盤的幾種方法:

IOS開發點選空白處隱藏虛擬鍵盤的幾種方法:

OS開發中經常要用到輸入框,預設情況下點選輸入框就會彈出鍵盤,但是必須要實現輸入框return的委託方法才能取消鍵盤的顯示,對於使用者體驗來說很不友好,我們可以實現點選鍵盤以外的空白區域來將鍵盤隱藏,以下我總結出了幾種隱藏鍵盤的方法:


首先說明兩種可以讓鍵盤隱藏的Method:
1、[view endEditing:YES]  這個方法可以讓整個view取消第一響應者,從而讓所有控制元件的鍵盤隱藏。
2、[textFiled resignFirstResponder] 這個則是比較常用的讓某個textFiled的鍵盤隱藏。



接下來就是幾種實現方式:

第一種: 使用view的touchesBegan:觸控事件來實現對鍵盤的隱藏,當點選view的區域就會觸發這個事件

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{  
    [textFiled resignFirstResponder];  
}  

第二種:建立自定義的觸控手勢來實現對鍵盤的隱藏:
- (void)viewDidLoad  
{  
    [super viewDidLoad];  
    UITap *tap = [[UITap alloc] initWithTarget:self action:@selector(keyboardHide:)];  
    //設定成NO表示當前控制元件響應後會傳播到其他控制元件上,預設為YES。  
    tap.cancelsTouchesInView = NO;  
    //將觸控事件新增到當前view  
    [self.view addGestureRecognizer:tapGestureRecognizer];  
}  
  
-(void)keyboardHide:(UITap*)tap{  
    [textFiled resignFirstResponder];  
}  

第三種:修改xib中UIView的Custom class為UIControl,UIControl是一些常用控制元件如UIButton的父類,是UIView的派生類,實現了對觸控和下按的封裝。
1、首先設定xib中得UIView的Custom class為UIControl


2、設定關係事件,將xib中得UIView拖到.h區中
設定好事件為Touch Up Inside


3、編寫隱藏程式碼:

- (IBAction)touchView:(id)sender {  
     [self.view endEditing:YES];  
}  




相關推薦

IOS開發空白處隱藏虛擬鍵盤方法

OS開發中經常要用到輸入框,預設情況下點選輸入框就會彈出鍵盤,但是必須要實現輸入框return的委託方法才能取消鍵盤的顯示,對於使用者體驗來說很不友好,我們可以實現點選鍵盤以外的空白區域來將鍵盤隱藏,以下我總結出了幾種隱藏鍵盤的方法: 首先說明兩種可以讓鍵盤隱藏的Metho

安卓中EditText空白處隱藏鍵盤

Android開發過程中,點選EditText會出現鍵盤,當我們輸入完畢時,還要點一下返回鍵才能隱藏軟鍵盤,重寫下面這個方法,只要點選空白處就可以隱藏軟鍵盤,很方便,很實用。 /**

wap頁面號碼撥出號碼 方法

手機上網的時候, wml/XHTML 網頁上往往有一些連線,點選即可呼叫手機實現撥號和發簡訊的功能,比較自然的體現了手機應用的特點。 dig了一下。    Wireless Telephony Application Interface (WTAI) 負責定義此項實現, 實

iOS開發按鈕從左側顯示個人中心檢視

需求說明:點選導航欄左邊的按鈕時,從左側顯示半屏(自定義寬度)檢視,場景為常見的個人中心等 思路選擇:可以選擇自定義一個檢視,設定長度為(kScreenWidth - 任意數值),點選的時候將檢視新增到UIWindow上 問題分析:一般個人中心檢視為tableView等檢視時,肯

vue空白處隱藏

提供兩種常用方法 1、方法比較簡單,原理是需要隱藏的點選document使其show的值為false, 點選需要出現的加上阻止冒泡即可。@click.stop="isShow" mounted(){ var that=this;//this的指向問題 do

專案--按鈕顯示資料,空白處隱藏資料

點選空白處隱藏資料 點選按鈕顯示資料在這裡插入程式碼片 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <

android螢幕隱藏鍵盤

原文: android點選螢幕隱藏小鍵盤 fragment 下隱藏點選空白處隱藏小鍵盤   view.setOnTouchListener(new OnTouchListener() {   @Override   public boolean onTouch(View v, Moti

自定義元件 空白處隱藏

程式碼實現: <template> <div> <div class="show" v-show="show" v-clickoutside="handleClose"> 顯示 </div>

jquery實現空白處隱藏元素

一款jQuery點選空白處隱藏彈出層網頁特效,點選按鈕彈出層、點選頁面空白處彈出層消失JS程式碼。主要功能是點選按鈕彈出層顯示,然後通過點選頁面任意位置都能關閉彈出層顯示效果,主要是$(document).click的操作應用。演示 Demo,效果原始碼:   CSS

angular指令彈框空白處隱藏及常規方法

效果圖展示:   第一種方法:angularjs自定義指令: 指令: app.directive('onBlankHide', function () { return { restrict: 'A', sco

[小程式] 實現空白處隱藏評論輸入框

首先在頁面底部定義一個輸入區域 , 通過自定義boolean型別變數isInput來控制評論區是否顯示 , 預設不顯示. <view class='inputArea' hidden='{{!isInput}}'> <input class

Andriod中自定義Dialog樣式的Activity空白處隱藏軟體盤(Dialog不消失)

一、需求觸發場景: 專案中需要出發帶有EditText的Dialog顯示,要求在編輯完EditText時,點選Dilog的空白處隱藏軟鍵盤。但是Dialog不會消失。示例如下: 二、實現方法: 釋出需求時,我個人曾想過直接通過new的方式直接建立Dialog,經過多次嘗試

vue-cli 單頁面手機應用input手機端虛擬鍵盤彈出蓋住input

在用vue-cli腳手架搭建手機H5頁面應用的時候,其中一頁中部有input,底部有position:absolute;bottom:0的元素, 當點選input框時在安卓手機上出現了: 1 虛擬鍵盤彈出蓋住input 2 底部定位的元素被擠上來 網路上很多關

iOS開發——UITextField彈出UIDatePicker的協議實現方法

UITextField是用來接受使用者輸入的控制元件,它的優點是靈活性大,使用者可以隨便輸入,但有時候這也是其缺點。對我們而言,典型的一個問題就是格式檢查。然而我們也會遇到想讓使用者輸入日期的時候,這個時候再進行格式檢查就有些小題大做了,畢竟iOS已經為我們提供了一個UID

android實現空白處,軟鍵盤消失事件

/** * 實現點選空白處,軟鍵盤消失事件 */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOW

Vue 實現空白處隱藏某節點(三方式指令、普通、遮罩)

在專案中往往會有這樣的需求: 彈出框(或Popover)在 show 後,點選空白處可以將其 hide。 針對此需求,整理了三種實現方式,大家按實際情況選擇。 當然,我們做專案肯定會用到 UI 框架,常見的 Element 中的元件提供了這樣的方法。 但是,就算使用框架,有些時候還是要用到的,比如: El

移動端開發按鈕後出現閃爍的結局方法

最近用vue.js開發移動端控制元件時,發現當點選按鈕出發v-if時,總會出現按鈕瞬間的閃動和黑色的背景,體驗很差,最後發現解決問題的方法十分簡單,就是給點選按鈕新增一個css屬性: -webkit

獲取li下標的方式

應用閉包時回溯了下幾種關於獲取li下標的方式   1.點選獲取li下標 ———— 閉包   2.點選獲取li下標 ———— es6  let   3.點選獲取li下標 ———— 給元素新增下標屬性index    

iOS開發之UITableView中計時器的實現方式(NSTimer、DispatchSource、CADisplayLink)

最近工作比較忙,但是還是出來更新部落格了。今天部落格中所涉及的內容並不複雜,都是一些平時常見的一些問題,通過這篇部落格算是對UITableView中使用定時器的幾種方式進行總結。本篇部落格會給出在TableView中使用NSTimer或者DispatchSourcer中常見的五種方式。當然下方第一種方式是常規

iOS開發中只NSString擷取字串的方式

開發中經常用到NSString型別來做操作,有時候會有擷取字串的需求,下面列舉一下NSString常用的擷取操作的幾種方式 NSString *longStr = @"http://ryqueiweyuifhhhhhhhawwqwe"; NSRange range =