iOS監聽鍵盤上公升和降落

2021-07-13 13:59:55 字數 1361 閱讀 3006

很多時候,我們用到輸入框都需要監聽鍵盤上公升和下降,以便讓使用者可以看到自己輸入的文字。

實現方法很簡單,**如下: [[

nsnotificationcenter

defaultcenter

] addobserver

:self

selector

:@selector

(keyboardwillshow:)

name

:uikeyboardwillshownotification

object

:nil];

[[nsnotificationcenter

defaultcenter

] addobserver

:self

selector

:@selector

(keyboardwillhide:)

name

:uikeyboardwillhidenotification

object

:nil];

#pragma mark

監聽鍵盤的顯示與隱藏

///鍵盤顯示事件

- (void

) keyboardwillshow:(

nsnotification

*)notification ]; }

}///

鍵盤消失事件

- (void

) keyboardwillhide:(

nsnotification

*)notify ]; }

一切都很順利吧!這裡有乙個

小坑

存在,在此我做一下解釋。

第一、self

.frame

= oldframe

;這個最好是把你要上下移動的控制項的原先位置,作為變數儲存起來,方便使用些。

第二、cgfloat

offset = (

self

.textview

.frame

.origin.y

+self

.textview

.frame

.size

.height

) - ([

uiscreen

mainscreen

].bounds

.size

.height

- kbheight);

這行**的主要意思就是用輸入框的bottom的y座標——整個螢幕與鍵盤的高度差。

很多時候這個監聽在自定義控制項裡面的時候,我們算出來的不是整個螢幕與鍵盤的高度差,而是這個控制項和鍵盤的高度差,很容易就導致鍵盤上公升時候,輸入框的位置不夠精確。

iOS虛擬鍵盤上新增動態按鈕

之前在 在ios虛擬鍵盤上新增動態隱藏按鈕 一文中描敘了關於鍵盤上新增動態按鈕的操作,發現鍵盤上的按鈕顯示出來的時候很僵硬,此處做了改進,新增了動畫過渡,更換了,能夠讓人感覺按鈕是隨著鍵盤的動畫顯示而顯示,隨著鍵盤的動畫退出而退出,看上去更加流暢些 效果圖 void cancelbackkeyboa...

iOS監聽鍵盤和輸入法切換事件

本單元教程基於 程式設計師長弓 張燕廣 的 iphone開發教程,使用最新版的 ios9 和 xcode7 作為開發工具編譯執行。鏈結位址 iphone開發 二十八 監聽鍵盤狀態 輸入法狀態 viewcontroller.m keyboarddemo created by 555chy on 6 1...

python 熱鍵和鍵盤監聽

熱鍵一般搭配執行緒來使用,下面我們使用執行緒池來使用熱鍵 from concurrent.futures import threadpoolexecutor from pynput import keyboard defgethwnd self print 你好 def keyboardlisten...