真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios鍵盤開發(fā),ios布局鍵盤

iOS開發(fā)八種系統(tǒng)常見鍵盤

1、英文鍵盤:

創(chuàng)新互聯(lián)專注于彭澤企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),購物商城網(wǎng)站建設(shè)。彭澤網(wǎng)站建設(shè)公司,為彭澤等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

UIKeyboardTypeAlphabet(Alphabet字母)

UIKeyboardTypeASCIICapable

UIKeyboardTypeDefault

這三個(gè)默認(rèn)都顯示字母表。默認(rèn)下面第一幅圖,點(diǎn)左下角切換到下面第二幅圖。

2、數(shù)字鍵盤

UIKeyboardTypeDecimalPad (Decimal十進(jìn)制)

3、電子郵箱鍵盤

UIKeyboardTypeEmailAddress

4、沒有符號(hào)的英文鍵盤

UIKeyboardTypeNamePhonePad

這個(gè)類型默認(rèn)顯示第一幅圖片,如果點(diǎn)擊123按鈕則會(huì)顯示第二副鍵盤。

5、沒有小數(shù)點(diǎn)的數(shù)字鍵盤

UIKeyboardTypeNumberPad

6、全鍵盤的數(shù)字鍵盤

UIKeyboardTypeNumbersAndPunctuation

默認(rèn)顯示下面第一幅圖,切換顯示第二幅

7、帶符號(hào)的數(shù)字鍵盤

UIKeyboardTypePhonePad

默認(rèn)顯示下面第一幅圖,切換顯示第二幅

8、推特鍵盤

UIKeyboardTypeTwitter

默認(rèn)顯示下面第一幅圖,切換顯示第二幅

iOS開發(fā) iPad鍵盤撤銷操作的注意點(diǎn)

鍵盤的撤銷按鍵是iPad獨(dú)有的一個(gè)按鍵,在手機(jī)端是不存在這個(gè)按鍵的,但是手機(jī)端同樣也存在撤銷操作,只不過并不是通過鍵盤上的按鍵來進(jìn)行撤銷操作的。

當(dāng)對(duì) TextView 或者是 TextField 添加了限制輸入長(zhǎng)度。然后在控件中輸入到最長(zhǎng)長(zhǎng)度,這時(shí)候繼續(xù)去輸入東西,但是從界面上來看我們輸入的東西是沒有顯示出來的。此時(shí)按一下鍵盤上的撤銷按鍵

TextView

TextField

具體的內(nèi)部細(xì)節(jié)問題還是要大家共同去探索學(xué)習(xí),這里只提供了一下解決方案

當(dāng)我們?cè)谳斎腈I盤自帶的表情的時(shí)候一定是要去注意一下的。因?yàn)樗拈L(zhǎng)度是 2 ,我們正常輸入數(shù)字、字母、漢字等等可以看做是 1 ,所以如果輸入框里面帶有表情一定要注意判斷長(zhǎng)度。

檢測(cè)是否有表情

iOS開發(fā)之自定義表情鍵盤(組件封裝與自動(dòng)布局)

iOS開發(fā)之自定義表情鍵盤(組件封裝與自動(dòng)布局)

iOS開發(fā)之自定義表情鍵盤(組件封裝與自動(dòng)布局)

iOS開發(fā)中的鍵盤高度變化處理

在ios開發(fā)中,鍵盤很常用。在sdk版本5.0以前,鍵盤高度是固定值216px;5.0出來以后,鍵盤高度會(huì)隨著鍵盤語言變化(中文要高些),在這種情況下一般而言對(duì)于界面需要重新布局。方法是利用NSNotificationCenter。

UIKeyboardWillShowNotification;UIKeyboardDidShowNotification; UIKeyboardWillHideNotification; UIKeyboardDidHideNotification;

這幾個(gè)notification是5.0sdk之前就有的,顧名思義就知道意思了。

UIKeyboardWillChangeFrameNotification __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);UIKeyboardDidChangeFrameNotification __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);

這兩個(gè)是sdk 5.0以后出來的,用來處理鍵盤高度的變化。

使用方法是:首先在notification注冊(cè)觀察者,比如:

if([[[UIDevice currentDevice] systemVersion] floatValue] = 5.0) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];}

當(dāng)鍵盤高度將要變化時(shí),就會(huì)收到通知,在通知的參數(shù)中可以得到鍵盤目前的高度和變化的目標(biāo)高度,比如:

-(void)keyboardWillChangeFrame:(NSNotification*)notif{#if __IPHONE_OS_VERSION_MIN_REQUIRED = __IPHONE_3_2 NSValue *keyboardBoundsValue = [[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey]; #else NSValue *keyboardBoundsValue = [[notif userInfo] objectForKey:UIKeyboardBoundsUserInfoKey]; #endif CGRect keyboardEndRect = [keyboardBoundsValue CGRectValue]; CGRect inputFrame = self.feedBackTextView.frame; //kb 216 vs textFrame 185 float delta = keyboardEndRect.size.height - 216; float originalHeight = inputFrame.size.height; inputFrame.size.height = 185 - delta; if (inputFrame.size.height != originalHeight) { self.feedBackTextView.frame = inputFrame; self.feedBackBackgroundView.frame = inputFrame; }}

另外一些從notification.userInfo中可以取得的key如下:

UIKeyboardFrameBeginUserInfoKey // NSValue of CGRectUIKeyboardFrameEndUserInfoKey // NSValue of CGRectUIKeyboardAnimationDurationUserInfoKey // NSNumber of doubleUIKeyboardAnimationCurveUserInfoKey // NSNumber of double

notif中userInfo的完整信息如下 :

keyboardChange:{ UIKeyboardAnimationCurveUserInfoKey = 0; UIKeyboardAnimationDurationUserInfoKey = "0.25"; UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 216}}"; UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 372}"; UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 588}"; UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 264}, {320, 216}}"; UIKeyboardFrameChangedByUserInteraction = 0; UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 480}, {320, 216}}";}

下面是一個(gè)完整的解決方案,用戶需要知道鍵盤高度的細(xì)致變化

下面這個(gè)解決方案就只考慮鍵盤出現(xiàn)和消失的處理


本文標(biāo)題:ios鍵盤開發(fā),ios布局鍵盤
網(wǎng)頁路徑:http://weahome.cn/article/hodiop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部