UITextField:(輸入框)控件作為UI中經(jīng)常用到的一種控件.它用來(lái)顯示文字和編輯文字.核心功能是文字編輯.而這篇文章主要是簡(jiǎn)單的說(shuō)明輸入框代理中的可選方法.
首先我們來(lái)了解下如何手動(dòng)創(chuàng)建輸入框(不做詳細(xì)講解).
1.創(chuàng)建輸入框?qū)ο?/p>
UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(30, 100, 300, 40)];
2.配置相關(guān)屬性
tf.backgroundColor = [UIColor yellowColor];//以顏色為例
2.1代理(監(jiān)測(cè)輸入框的各種行為)
tf.delegate = self;//代理指定為自身所在的類對(duì)象
3.添加到父類視圖(這樣才能在視圖界面上看到)
[self.window addSubview:tf];
4.釋放所有權(quán)
[tf release]
下面說(shuō)下當(dāng)使用代理,就需要代理協(xié)議UITextFieldDelegate,我們可以進(jìn)到這個(gè)協(xié)議里看到里面的方法,一共七個(gè)都是可選實(shí)現(xiàn)的.也就是說(shuō),我們可以根據(jù)自己的需求來(lái)實(shí)現(xiàn)相應(yīng)的方法.下圖是協(xié)議里每個(gè)方法的作用:

接下來(lái),用代理的方法簡(jiǎn)單的實(shí)現(xiàn)界面輸入框回收鍵盤的操作(點(diǎn)擊鍵盤的return,鍵盤回收).要使用代理,就要這個(gè)類遵守UITextFieldDelegate協(xié)議.(我這里用的是iOS創(chuàng)建工程的空白類項(xiàng)目,里面生成了一個(gè)AppDelegate類).
在AppDelegate.m文件中,在類的延展,括號(hào)后面加上協(xié)議,這樣就不用再去類的.h文件添加協(xié)議了.

添加協(xié)議后,在AppDelegate.m文件中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法中添加一個(gè)輸入框.

對(duì)該輸入框設(shè)置好代理屬性后,我們就要對(duì)協(xié)議中的- (BOOL)textFieldShouldReturn:(UITextField *)textField;這個(gè)方法進(jìn)行實(shí)現(xiàn),因?yàn)樗怯脕?lái)回收鍵盤的(點(diǎn)擊鍵盤右下角return).

這樣的話,我們就可以沖效果圖上看到,當(dāng)我們點(diǎn)擊return后,鍵盤會(huì)自動(dòng)回收.

在后面的更新中,會(huì)添加當(dāng)鼠標(biāo)點(diǎn)擊視圖空白區(qū)域時(shí),鍵盤退出的效果.盡請(qǐng)期待!