iOS中的UIKeyboard鍵盤視圖使用方法小結(jié)
更新時(shí)間:2016年06月14日 09:19:13 作者:劉偉
鍵盤視圖我們平時(shí)在做App的時(shí)候都要調(diào)用得到,這里我們就來(lái)整理一下iOS中的UIKeyboard鍵盤視圖使用方法小結(jié),需要的朋友可以參考下
一、鍵盤風(fēng)格
UIKit框架支持8種風(fēng)格鍵盤。
復(fù)制代碼 代碼如下:
typedef enum {
UIKeyboardTypeDefault, // 默認(rèn)鍵盤:支持所有字符
UIKeyboardTypeASCIICapable, // 支持ASCII的默認(rèn)鍵盤
UIKeyboardTypeNumbersAndPunctuation, // 標(biāo)準(zhǔn)電話鍵盤,支持+*#等符號(hào)
UIKeyboardTypeURL, // URL鍵盤,有.com按鈕;只支持URL字符
UIKeyboardTypeNumberPad, //數(shù)字鍵盤
UIKeyboardTypePhonePad, // 電話鍵盤
UIKeyboardTypeNamePhonePad, // 電話鍵盤,也支持輸入人名字
UIKeyboardTypeEmailAddress, // 用于輸入電子郵件地址的鍵盤
} UIKeyboardType;
用法用例:
復(fù)制代碼 代碼如下:
textView.keyboardtype = UIKeyboardTypeNumberPad;
二、鍵盤外觀
復(fù)制代碼 代碼如下:
typedef enum {
UIKeyboardAppearanceDefault, // 默認(rèn)外觀:淺灰色
UIKeyboardAppearanceAlert, //深灰/石墨色
} UIKeyboardAppearance;
用法用例:
復(fù)制代碼 代碼如下:
textView.keyboardAppearance=UIKeyboardAppearanceDefault;
三、回車鍵
復(fù)制代碼 代碼如下:
typedef enum {
UIReturnKeyDefault, //默認(rèn):灰色按鈕,標(biāo)有Return
UIReturnKeyGo, //標(biāo)有Go的藍(lán)色按鈕
UIReturnKeyGoogle, //標(biāo)有Google的藍(lán)色按鈕,用于搜索
UIReturnKeyJoin, //標(biāo)有Join的藍(lán)色按鈕
UIReturnKeyNext, //標(biāo)有Next的藍(lán)色按鈕
UIReturnKeyRoute, //標(biāo)有Route的藍(lán)色按鈕
UIReturnKeySearch, //標(biāo)有Search的藍(lán)色按鈕
UIReturnKeySend, //標(biāo)有Send的藍(lán)色按鈕
UIReturnKeyYahoo, //標(biāo)有Yahoo!的藍(lán)色按鈕,用于搜索
UIReturnKeyDone, //標(biāo)有Done的藍(lán)色按鈕
UIReturnKeyEmergencyCall, //緊急呼叫按鈕
} UIReturnKeyType;
用法用例:
復(fù)制代碼 代碼如下:
textView.returnKeyType=UIReturnKeyGo;
四、自動(dòng)大寫
復(fù)制代碼 代碼如下:
typedef enum {
UITextAutocapitalizationTypeNone, //不自動(dòng)大寫
UITextAutocapitalizationTypeWords, //單詞首字母大寫
UITextAutocapitalizationTypeSentences, //句子首字母大寫
UITextAutocapitalizationTypeAllCharacters, //所有字母大寫
} UITextAutocapitalizationType;
用法用例:
復(fù)制代碼 代碼如下:
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
五、自動(dòng)更正
復(fù)制代碼 代碼如下:
typedef enum {
UITextAutocorrectionTypeDefault,//默認(rèn)
UITextAutocorrectionTypeNo,//不自動(dòng)更正
UITextAutocorrectionTypeYes,//自動(dòng)更正
} UITextAutocorrectionType;
用法用例:
復(fù)制代碼 代碼如下:
textField.autocorrectionType = UITextAutocorrectionTypeYes;
六、安全文本輸入
復(fù)制代碼 代碼如下:
textView.secureTextEntry=YES;
開啟安全輸入主要是用于密碼或一些私人數(shù)據(jù)的輸入,此時(shí)會(huì)禁用自動(dòng)更正和自此緩存。
七、打開鍵盤遮住View的問題解決方法
默認(rèn)情況下打開鍵盤會(huì)遮住下面的view,帶來(lái)一點(diǎn)點(diǎn)困擾,不過這不是什么大問題,我們使用點(diǎn)小小的手段就可以解決。
首先我們要知道鍵盤的高度是固定不變的,不過在IOS 5.0 以后鍵盤的高度貌似不是216了,不過不要緊,我們調(diào)整調(diào)整就是了:
我們采取的方法就是在textField(有可能是其他控件)接收到彈出鍵盤事件時(shí)把self.view整體上移216px了(我們就以iPhone豎屏為例了)。
首先我們要設(shè)置textField的代理,我們就設(shè)為當(dāng)前控制器了。
復(fù)制代碼 代碼如下:
textField,delegate=self;
然后我們?cè)诋?dāng)前控制器實(shí)現(xiàn)下面三個(gè)委托方法:
復(fù)制代碼 代碼如下:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{ //當(dāng)點(diǎn)觸textField內(nèi)部,開始編輯都會(huì)調(diào)用這個(gè)方法。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];
}
復(fù)制代碼 代碼如下:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{//當(dāng)用戶按下ruturn,把焦點(diǎn)從textField移開那么鍵盤就會(huì)消失了
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];
}
相關(guān)文章
objective-c實(shí)現(xiàn)點(diǎn)到直線的距離及與垂足的交點(diǎn)
這篇文章主要給大家介紹了利用objective-c實(shí)現(xiàn)點(diǎn)到直線的距離及與垂足的交點(diǎn)的相關(guān)資料,文中給出了詳細(xì)的實(shí)現(xiàn)思路和實(shí)現(xiàn)代碼,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04iOS中wkwebView內(nèi)存泄漏與循環(huán)引用問題詳解
這篇文章主要給大家介紹了關(guān)于iOS中wkwebView內(nèi)存泄漏與循環(huán)引用問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07iOS定時(shí)器的選擇CADisplayLink NSTimer和GCD使用
這篇文章主要為大家介紹了iOS定時(shí)器的選擇CADisplayLink NSTimer和GCD使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03談?wù)刬OS開發(fā)之JSON格式數(shù)據(jù)的生成與解析
JSON格式取代了xml給網(wǎng)絡(luò)傳輸帶來(lái)了很大的便利,本篇文章主要介紹了iOS開發(fā):對(duì)象直接轉(zhuǎn)化成JSON詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01iOS 16 CocoaAsyncSocket 崩潰修復(fù)詳解
這篇文章主要為大家介紹了iOS 16 CocoaAsyncSocket 崩潰修復(fù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01iOS中滑動(dòng)控制屏幕亮度和系統(tǒng)音量(附加AVAudioPlayer基本用法和Masonry簡(jiǎn)單使用)
這篇文章主要介紹了iOS中滑動(dòng)控制屏幕亮度和系統(tǒng)音量(附加AVAudioPlayer基本用法和Masonry簡(jiǎn)單使用)的相關(guān)資料,需要的朋友可以參考下2016-12-12