開啟鍵盤遮住View的問題解決方法
是什麼大問題,我們使用點小小的手段就可以解決。
首先我們要知道鍵盤的高度是固定不變的,不過在IOS 5.0 以後鍵盤的高度貌似不是216了,不過不要緊,我們調整調整就是了:
iPhone | ipad | |
豎屏(portrait) | 216 | 264 |
橫屏(landScape) | 140 | 352 |
我們採取的方法就是在textField(有可能是其他控制元件)接收到彈出鍵盤事件時把self.view整體上移216px了(我們就以iPhone豎屏為例了)。
有關View的frame,origin,size之類的知識點不懂的請參看我的另一篇博文: <<有關View的幾個基礎知識點>>
首先我們要設定textField的代理,我們就設為當前控制器了。
textField,delegate=self;
然後我們在當前控制器實現下面三個委託方法:
- - (void)textFieldDidBeginEditing:(UITextField *)textField
- { //當點觸textField內部,開始編輯都會呼叫這個方法。textField將成為first responder
- NSTimeInterval animationDuration = 0.30f;
- CGRect frame = self.view.frame;
- frame.origin.y -=216;
- frame.size.height +=216;
- self.view.frame = frame;
- [UIView beginAnimations:@"ResizeView" context:nil];
- [UIView setAnimationDuration:animationDuration];
- self.view.frame = frame;
- [UIView commitAnimations];
- }
- - (BOOL)textFieldShouldReturn:(UITextField *)textField
- {//當使用者按下ruturn,把焦點從textField移開那麼鍵盤就會消失了
- NSTimeInterval animationDuration = 0.30f;
- CGRect frame = self.view.frame;
- frame.origin.y +=216;
- frame.size. height -=216;
- self.view.frame = frame;
- //self.view移回原位置
- [UIView beginAnimations:@"ResizeView" context:nil];
- [UIView setAnimationDuration:animationDuration];
- self.view.frame = frame;
- [UIView commitAnimations];
- [textField resignFirstResponder];
- }
相關文章
- 不能雙擊開啟盤的解決方法
- Android 安卓手機及平板虛擬鍵盤遮住底部導航欄問題Android安卓
- 解決關機後鍵盤滑鼠燈亮問題!
- 幾招輕鬆解決鍵盤油膩問題 鍵盤油膩怎麼清洗?
- 解決自定義可拖動View在軟鍵盤彈出和隱藏時位置重置問題View
- 輸入框軟鍵盤遮擋問題解決方案
- Win10怎麼開啟螢幕鍵盤 win10開啟鍵盤的3種方法Win10
- Mac雙系統中Windows無法使用蘋果滑鼠鍵盤等問題的解決方法MacWindows蘋果
- 專案總結二:解決鍵盤覆蓋tableview的問題View
- Linux啟動問題解決方法(轉)Linux
- android 記一次解決鍵盤遮擋問題Android
- android記一次解決鍵盤遮擋問題Android
- 『零行程式碼』解決鍵盤遮擋問題(iOS)行程iOS
- iOS解決鍵盤彈出遮擋輸入框問題iOS
- 電腦軟鍵盤怎麼開啟 快速調出軟鍵盤的方法教程
- Docker啟動故障問題 no such file or directory解決方法Docker
- 遇到問題的解決方法
- 遠端服務不能啟動問題的解決方法
- flutter - 使用 SingleChildScrollView() 解決鍵盤遮擋輸入框的問題FlutterView
- win7軟鍵盤怎麼開啟?WIN7電腦中開啟“軟鍵盤”使用的兩種方法Win7
- win10提示您已遇到關鍵問題的解決方法Win10
- 靈光乍現 解決移動端保持鍵盤開啟狀態
- SERVICE問題解決方法
- win10系統下鍵盤ctrl鍵失靈的解決方法Win10
- 有效解決移動端虛擬鍵盤影響fixed定位問題
- **PHPNotice:Undefinedindex:…問題的解決方法PHPUndefinedIndex
- 通過focusout事件解決IOS鍵盤收起時介面不歸位的問題事件iOS
- win10螢幕鍵盤怎麼開啟 調出虛擬鍵盤的四種方法Win10
- 從鍵盤上開啟 Mac 應用程式的 4 種方法Mac
- 光碟機不讀盤問題解決
- 解決問題的方法和途徑-問題管理
- VMware15.1以下版本,開啟虛擬機器黑屏的問題解決方法虛擬機
- win10系統開機卡在選擇鍵盤佈局的解決方法Win10
- 筆記本win10系統快速啟動後鍵盤失靈的解決方法筆記Win10
- Linux啟動問題解決方法(修改稿)(轉)Linux
- 利用flex佈局解決ios輸入框被鍵盤遮擋問題FlexiOS
- Flutter 疑難雜症系列:鍵盤原理及常見問題解決方案Flutter
- win10電腦鍵盤設定在哪裡_win10開啟鍵盤設定的方法Win10