成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone應(yīng)用之自定義鍵盤開發(fā)代碼

移動開發(fā) iOS
本文介紹的是自定義鍵盤,主要是通過思路來引導(dǎo)和詳細(xì)的代碼來實(shí)現(xiàn)鍵盤的開發(fā),先來看詳細(xì)內(nèi)容講解。

iphone應(yīng)用中的自定義鍵盤是本文要介紹的內(nèi)容,在壇子里逛了一圈,看了一篇自定義鍵盤的文章,于是與大家分享一下,我相信是懶人推動了世界的發(fā)展,既然iphone有了自己的軟件盤,我們什么還要自己實(shí)現(xiàn)其功能呢。so,只要寄生在上面就行了。不多說,來看詳細(xì)內(nèi)容。

思路:

1、用靜態(tài)方法找到應(yīng)用程序當(dāng)前view(window)中的UIKeyboard的view

2、在鍵盤的view上帖上自己的view,(精彩了,這個自己的view就是你自己鍵盤,任意發(fā)揮,什么類型鍵盤都可以做了)

3、根據(jù)需要調(diào)整系統(tǒng)鍵盤的大小以滿足你想要的尺寸

4、給自己的鍵盤view上的button添加方法,實(shí)現(xiàn)功能

主要代碼:

添加自身類為鍵盤事件的觀察者

  1. [[NSNotificationCenter defaultCenter] addObserver:self      
  2.  selector:@selector(keyboardWillShow:)         
  3.  name:UIKeyboardWillShowNotification   
  4.  object:nil]; 

核心思路代碼:

  1. - (void)keyboardWillShow:(NSNotification *)note   
  2. {    
  3.     UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];//知識點(diǎn)  
  4.     for(int i=0; i<[tempWindow.subviews count]; i++)   
  5.     {  
  6.         keyboard = [tempWindow.subviews objectAtIndex:i];  
  7.         if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)  
  8.         {  
  9.             [keyboard setFrame:CGRectMake(0, 460, 320, 345)];  
  10.             [self congfigKeypad];  
  11.               
  12.             [keyboard addSubview:keyPadView1];  
  13.               
  14.         }  
  15.     }  

比如配置方法可以是這樣:

  1. -(void)congfigKeypad  
  2. {  
  3.    SearBtn *one = [[SearBtn alloc] initWithFrame:CGRectMake(81, 3, kNumPadW, kNumPadH) index:1 ContextString:@"1" type:kNumPadType];  
  4.     [one setImage:[UIImage imageNamed:@"1.png"] forState:UIControlStateNormal];  
  5.     [one addTarget:self action:@selector(buttonClickAtIndex:) forControlEvents:UIControlEventTouchUpInside];  
  6.         //......略  

添加NSMutalbeString作為文本域字串的容器,點(diǎn)擊button后append的button對應(yīng)的字串。

  1. - (void)buttonClickAtIndex:(id)sender  
  2. {  
  3.     SearBtn *btnItem = (SearBtn*)sender;  
  4.     NSString *str = btnItem->btnText;  
  5.     [s_text appendString:str];  
  6.     [sBar setText:s_text];  

再實(shí)現(xiàn)一個deleteChar的方法作為退格鍵

思路:

  1. if ([s_text length] > 0)  
  2.     {  
  3.         NSRange rang;  
  4.         rang.location = [s_text length] - 1;  
  5.         rang.length = 1;  
  6.         [s_text deleteCharactersInRange:rang];  
  7.     } 

現(xiàn)在點(diǎn)擊各種文本域,應(yīng)該就可以現(xiàn)實(shí)自己的鍵盤了。

繼續(xù)優(yōu)化

用textfield的代理方法控制鍵盤的字串類型,長度,和響應(yīng)消失。

iPhone應(yīng)用之自定義鍵盤 

iPhone應(yīng)用之自定義鍵盤

小結(jié):iPhone應(yīng)用之自定義鍵盤開發(fā)代碼的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 博客園
相關(guān)推薦

2023-06-27 15:02:47

2011-08-11 10:16:23

iPhoneUIView視圖

2011-08-11 10:27:37

iPhoneUIView視圖

2011-08-10 10:23:20

iPhoneArchivingNSCoder

2011-08-16 19:02:23

iPhone開發(fā)繪圖

2011-08-11 17:32:51

iPhone視圖

2011-08-12 18:18:03

iPhone開發(fā)UIPageContr按鈕

2011-08-15 18:02:32

iPhone開發(fā)表視圖

2023-08-10 17:14:52

鴻蒙自定義彈窗

2011-08-18 09:44:33

iPhone SDK儀表控件UIDialView

2011-08-12 11:31:46

iPhoneUIView動畫

2011-08-15 10:15:00

iPhone開發(fā)警告框

2011-08-18 17:32:55

iPhone開發(fā)Table Cell

2011-08-19 14:27:29

iPhone開發(fā)

2009-06-08 20:13:36

Eclipse自定義控

2011-12-05 15:02:21

Knockout

2011-12-26 10:11:08

JSP

2009-06-24 15:13:36

自定義JSF組件

2011-08-12 10:16:10

iPhone通訊錄聯(lián)系人

2015-02-11 17:49:35

Android源碼自定義控件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: av在线一区二区 | 精品日韩 | 国产 日韩 欧美 中文 在线播放 | 欧美高清免费 | 亚洲精品视频免费 | 色伊人 | 日韩一区二区在线视频 | 毛片大全 | 国产成人免费视频 | 亚洲成人精品一区 | 国产精品一区在线播放 | a级大片免费观看 | 日韩中文一区二区三区 | 亚洲国产成人av好男人在线观看 | 天天操天天操 | 久久欧美高清二区三区 | 国产高清免费 | 国产视频中文字幕 | 97国产精品视频人人做人人爱 | 一级黄a视频 | 99精品在线观看 | 午夜精品一区二区三区在线视频 | av电影手机版| 欧美a在线 | 亚洲精品18 | av国产精品 | 视频三区| 欧美日韩国产精品一区二区 | 91精品国产综合久久久久久丝袜 | 日日艹夜夜艹 | 欧洲妇女成人淫片aaa视频 | 国产美女在线观看 | 国产高清视频 | 亚洲品质自拍视频 | 黄a免费网络 | 99久久99 | 欧美午夜激情在线 | 怡红院免费的全部视频 | 欧美日韩国产精品一区二区 | 成人av电影天堂 | 中文字幕在线第一页 |