iOS開發 關於鍵盤高度

2021-06-17 21:59:28 字數 1308 閱讀 4308

在ios開發中,經常有需要根據彈出來的鍵盤不同高度,改變我們檢視顯示的需求,而鍵盤的高度並不是一定的(比如中文輸了字和英文鍵盤)。

那麼我們可以通過註冊鍵盤通知,監聽鍵盤的高度改變事件來完成。

這裡我只給出最核心的部分**。

首先是註冊通知:

//鍵盤高度改變的通知

[[nsnotificationcenter defaultcenter]addobserver:selfselector:@selector(keyboardwillshow:) name:uikeyboardwillshownotification object:nil];

[[nsnotificationcenter defaultcenter]addobserver:selfselector:@selector(keyboardwillhide:) name:uikeyboardwillhidenotification object:nil];

// 鍵盤高度變化通知,ios5.0新增的

#ifdef __iphone_5_0

float version = [[[uidevicecurrentdevice]systemversion]floatvalue];

if (version >=5.0)

#endif

然後是實現相應的方法:

#pragma mark keyboardnotification

-(void)keyboardwillshow:(nsnotification*)notification

-(void)keyboardwillhide:(nsnotification*)notification

最後提醒一下,不要忘記在相應的地方(離開介面或者銷毀此類時),取消註冊的通知

[[nsnotificationcenter defaultcenter]removeobserver:self name:uikeyboardwillshownotification object:nil];

[[nsnotificationcenter defaultcenter]removeobserver:self name:uikeyboardwillhidenotification object:nil];

#ifdef __iphone_5_0

float version = [[[uidevice currentdevice] systemversion] floatvalue];

if (version >= 5.0)

#endif

iOS鍵盤高度的獲取

如下 void viewdidload 當鍵盤出現或改變時呼叫 void keyboardwillshow nsnotification anotification 當鍵退出時呼叫 void keyboardwillhide nsnotification anotification 高度值其實就只有...

ios計算鍵盤高度的處理

ios5之前鍵盤的高度是無法改變的,在更新ios5之後中文輸入法的高度可以變化 uikeyboarddidshownotification uikeyboardwillhidenotification uikeyboardwillchangeframenotification 這幾個notifica...

iOS開發 鍵盤通知

uikeyboardwillshownotification uikeyboarddidshownotification uikeyboarddidhidenotification uikeyboarddidhidenotification addobserver與removeobserver需要在...