1. 程式人生 > >滑動Tableview軟鍵盤消失(下落)

滑動Tableview軟鍵盤消失(下落)

在iOS開發中,會經常呼叫軟鍵盤,而且在某個時候會需要軟鍵盤下落,這兒說幾種情況

1.在一個view上的話是最簡單的,一句程式碼就可以解決這個問題

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [self.view endEditing:YES];
}
這樣軟鍵盤就會隱藏掉

2.第二種情況是在一個tableView中,但是cell上沒有點選事件的時候,可以新增一個手勢,直接點選軟鍵盤也會消失

在viewDidLoad新增手勢

    UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)];
    //設定成NO表示當前控制元件響應後會傳播到其他控制元件上,預設為YES。
    tapGestureRecognizer.cancelsTouchesInView = NO;
    [self.view addGestureRecognizer:tapGestureRecognizer];

-(void)keyboardHide:(UITapGestureRecognizer*)tap{
 //使你想操作的控制元件失去第一響應     例如 [_searchBar resignFirstResponder]; 這是讓搜尋框失去第一響應
}

3.第三種情況最複雜,但也很好解決,在tableView上就是需要鍵盤下落,並且cell上有點選事件,這個時候,如果你用第二種情況的手勢,會發現,鍵盤是下落了,但是頁面也跳轉了,很尷尬,這個時候你會發現tableView有一個代理方法可以解決此問題,因為tableView其實是一個ScrollView,滑動tableView就會呼叫這個方法,

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    [[UIApplication sharedApplication]sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil]
    ;
}

-(BOOL)resignFirstResponder
{
    [_searchBar resignFirstResponder];//使你想做的控制元件失去第一響應,一般情況就是搜尋
    return YES;
}

這樣,你一滑動表軟鍵盤就會下落,其實第三種情況的方法也可以解決第二種情況的問題,個人是比較推薦的

相關推薦

滑動Tableview鍵盤消失下落

在iOS開發中,會經常呼叫軟鍵盤,而且在某個時候會需要軟鍵盤下落,這兒說幾種情況 1.在一個view上的話是最簡單的,一句程式碼就可以解決這個問題 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent

Android 鍵盤imeOptionsDone的用法

正文 android:imeOptions="flagNoExtractUi" //使軟鍵盤不全屏顯示,只佔用一部分螢幕 同時,這個屬性還能控制元件軟鍵盤右下角按鍵的顯示內容,預設情況下為

android中EditText有游標不彈出鍵盤處理

if (android.os.Build.VERSION.SDK_INT <= 10) {et_input_batch_num_in.setInputType(InputType.TYPE_NULL); } else {getActivity().getWindow().setSoftInputMode

React-native滑動螢幕鍵盤消失

(一)問題描述 在輸入框中寫入內容時,填寫完畢時滑動螢幕時希望鍵盤自動消失。 (二)方法 在ScrollView中有keyboardDismissMode屬性,該屬性可以三種值,分別為none、on-

Android開發之監聽鍵盤狀態彈出收回

概述 如何使用 隱患 概述 在我們開發過程中,有時需要監聽手機軟鍵盤狀態,但是Android沒有這樣的API,所以需要我們自己處理。 實現方案 實現效果與原理 先上一張效果圖 可以看到我們準確的監聽到了軟鍵盤的彈出與收起事

android鍵盤問題解決方案鍵盤佔據全屏,鍵盤排擠頁面佈局

1.在使用EditText進行文字輸入時,若不進行特殊的設定,使用Android自帶的軟鍵盤,該軟鍵盤會佔用整個介面,那麼,如何讓鍵盤只佔用螢幕的一部分呢?  答:android:imeOptions="flagNoExtractUi"  //使軟鍵盤不全屏顯示,只佔用一部

activity結束時finish用程式碼讓鍵盤隱藏如果鍵盤顯示

需求:介面(activity)finish消失的同時,如果軟鍵盤顯示,則讓其隱藏 方案一: @Override protected void onDestroy() { super.onDestroy(); InputMetho

Android使用xml自定義鍵盤效果附原始碼

Android使用xml自定義軟鍵盤效果原理: 1,軟鍵盤其實是個控制元件,使用android.inputmethodserver.KeyboardView類定義。 2,主佈局中使用幀佈局,當我們需要顯示軟鍵盤時設定為可見,不需要時設定為不可見。 3,編寫

python selenium 元素操作之鍵盤操作

兩個 .com multi 模擬 刪除 del escape comm f11 上節介紹了模擬鼠標對元素的操作,本節主要介紹鍵盤對元素的操作,實際過程中鼠標對元素的操作比鍵盤對元素的操作更經常使用,但是鍵盤對元素的操作也很重要,本節主要介紹一下鍵盤對元素的操作。 selen

鍵盤錄入Java

ava string scan port ann 獲取數據 oid ring str 鍵盤錄入(Java): 1.導包 格式 import java.util.Scanner;

selenium測試Java-- 鍵盤事件

剪切 ted toolbar www. lee 內容 title bsp logs 1 package com.test.key; 2 3 import org.openqa.selenium.By; 4 import org.openqa.selenium.

iOS項目開發實戰——學會使用TableView列表控件plist讀取與Section顯示

track arr 學會 有關 control label center head fcm 文本將會實現把數據存儲到plist文件裏。然後在程序中進行讀取。在TableView控件中依據不同的類別顯示Section。有關TableView 的其它實現,

工作業1課程學習熱身

git spa 課程學習 信息 size 創建 eclipse c++和java logs 個人簡介: ①基本信息 姓名:王海涵 學號:1425052012 班級:信息管理與信息系統141班 興趣愛好:攝影,編輯微信公眾平臺,旅遊,遊泳 ②個人編程能力: 之前的課程學習過C

工作業3用戶體驗分析

實例 粉絲 擁有 style strong 打出 微信公眾 無法識別 公眾 一、目標 基於實例分析,體會用戶體驗設計的 7 條準則。 二、要求 基於我們列出的 7 條UX評價準則,分析“南通大學教務管理系統微信公眾號” 在用戶體驗設計方面讓你覺得滿意的地方(不少於2點

工作業4:用戶體驗分析——以 “師路南通網站” 為例

學員 androi blog 賬號 移動 用戶登錄 自動 二維 資源獲取 用戶體驗分析:以 “師路南通網站” 為例 一、目標 (1)針對師路南通,開展UX分 PS:對比另外2個學習網站(學生安

件工程2018第一次作業

讓我 電腦 chan 現在 log 計算 3年 index IT 學號:153401010222 id:A08601 Coding 地址:github.com/947104238 閱讀材料並思考 北行陳彥吉同學的博客 一、回顧你過去將近3年的學習經歷 當初你報考的時候,是真

從0開始學大數據-Java基礎-三元運算符/鍵盤錄入4

大數據;Java;我們從零開始學習大數據技術,從java基礎,到Linux技術涉獵,再深入到大數據技術的Hadoop、Spark、Storm技術,最後到大數據企業平臺的搭建,層層遞進,由點到面!希望技術大牛能過來指導學習。上一節了解Java運算符,其中三元運算符沒有做講解,本節我們開始學習Java基礎-三元運

件工程2018第二次個人作業

語言 過程 加載 工具 快捷 命名 打開 ++ mage 自動單元測試技術練習 一、選擇開發工具 1. 工具選擇 本次作業我選擇的開發工具是Google的Android Studio(簡稱AS)。其支持的工具語言有C++,Java,Kotlin,在此我選擇Java進行開發。

件工程2018第二次作業

流程 tps 清晰 pat web pan uid 步驟 不清晰 開發環境配置 官方教程:Building a RESTful Web Service 配置具體步驟:Archino - 開發環境搭建流程 樣例代碼:spring-guides/gs-rest-service

件工程2018第三次作業

orm OS mar edt n) hub rri mine 最大值 最大子段和 令f[i]為從莫一點開始到a[i]為止最大的子段和,則有以下轉移方程: \[f_i = \max(f_{i-1} + a[i], a[i])\] 因為只需遍歷一次數組就可求出,所以復雜度為\(