你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS開辟中鍵盤輸出屏幕上移的處理辦法

IOS開辟中鍵盤輸出屏幕上移的處理辦法

編輯:IOS開發綜合

在IOS開法中常常會碰到鍵盤遮擋屏幕的工作(好比輸出賬號暗碼驗證碼等等),就使得本來都不年夜的屏幕直接占了一半乃至更多的地位,這倒無所謂,症結是蓋住了上面的按鈕。如許的話按鈕的事宜也就觸發不了,最好的處理方法就是當輸出這些信息的時刻讓全部屏幕上移一個鍵盤的地位,或許上移到指定的地位。

起首普通輸出的話都用的是UITextField,所以要監聽用戶甚麼時刻開端輸出和甚麼時刻停止輸出,直接設置署理署理就好了,要遵受

UITextFieldDelegate協定。

//遵守協定
@interface ViewController ()<UITextFieldDelegate>
//設置屬性
@property(nonatomic,strong)UITextField* UITF;
//設置署理
UITF.delegate=self;
//署理辦法
//鍵盤彈出時屏幕上移
-( void )textFieldDidBeginEditing:(UITextField *)textField
{
  //假設多個輸出,好比注冊和登錄,便可以依據分歧的輸出框來上移分歧的地位,從而加倍人道化
//鍵盤高度216
//滑動後果(動畫)
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@ "ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
//將視圖的Y坐標向上挪動,以使上面騰出處所用於軟鍵盤的顯示
self.view.frame = CGRectMake(0.0f, -100.0f/*屏幕上移的高度,可以本身定*/, self.view.frame.size.width, self.view.frame.size.height); 
[UIView commitAnimations];
}
//撤消第一呼應,也就是輸出終了,屏幕恢回復復興狀
-( void )textFieldDidEndEditing:(UITextField *)textField
{
//滑動後果
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@ "ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
//恢復屏幕
self.view.frame = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, self.view.frame.size.height); 
[UIView commitAnimations];
}

接上去說一下撤消第一呼應。

普通都是在以後View上添加一個點擊手勢便可,如許的話便可以撤消鍵盤的第一呼應,然則如許的話有一個弊病,好比:由於注冊登錄頁面當屏幕上移時,

就會顯示注冊或登錄的頁面,假如添加點擊手勢的話那末就會籠罩失落按鈕的點擊事宜,也就是明明看到了按鈕,然則點擊卻沒反響,那末怎樣辦呢?

若何完成注冊登錄的按鈕事宜都在,點擊其他的處所還能撤消鍵盤的第一呼應。

其實很簡略,我的處理方法是如許的

創立一個按鈕,和屏幕一樣年夜,一切的控件全體都放到這個按鈕上,而這個按鈕的點擊事宜就是撤消輸出框的第一呼應。如許便可以了。

以上所述是小編給年夜家引見的IOS開辟中鍵盤輸出屏幕上移的處理辦法,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對本站網站的支撐!

【IOS開辟中鍵盤輸出屏幕上移的處理辦法】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved