UITextField可以響應鍵盤上的完成按鈕,關閉鍵盤,而UITextView不一樣,它的return按鈕或者Done按鈕執行的是換行功能,不能達到關閉鍵盤的目的。解決方法有兩個:一個是通過捕捉touch
End事件,當用戶點擊空白區域時關閉UITextView打開的鍵盤;一個是增加一個帶有完成按鈕的UIToolbar(這個UIToolbar當鍵盤彈出的時候總是顯示在鍵盤的上方,很完美的貼在一起,鍵盤收起,它也會隨着收起)。當然,將這兩個方法都集成進來運用也是可以的。
下面提供第二種方法的詳細代碼:
UIToolbar * topView = [[UIToolbar alloc]
initWithFrame:CGRectMake(0, 0, 320, 30)];
[topView
setBarStyle:UIBarStyleDefault];
UIBarButtonItem * btnSpace =
[[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self
action:nil];
UIBarButtonItem * doneButton = [[UIBarButtonItem alloc]
initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self
action:@selector(dismissKeyBoard)];
NSArray * buttonsArray = [NSArray
arrayWithObjects:btnSpace, doneButton, nil];
[btnSpace release];
[doneButton release];
[topView setItems:buttonsArray];
[m_myUITextView setInputAccessoryView:topView];
注:1.dismissKeyBoard是自定義的收起鍵盤的方法,可自定義其中的內容,比如執行[m_myUITextView
resignFirstResponder];
2.最後一行代碼setInputAccessoryView函數的調用是很關鍵的一句。
ITextView如何關閉鍵盤
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
第一週作業 模擬登錄
賈志禹
2019-02-23 14:04:57
Linxu用戶登錄監測
zhongqijian916
2019-02-23 13:54:51
虛擬機未能初始化遠程子系統找不到一個要連接有效peer進程
lhslllj
2019-02-23 13:50:59
linux初學之信號及信號的簡介
imGrt
2019-02-23 13:50:03
最高企業級多用戶商城系統
vgogirl
2019-02-23 13:45:21
禁止用戶關機
czq2008sky
2019-02-23 13:43:29
用戶 'NT AUTHORITY\NETWORK SERVICE' 登錄失敗。
czq2008sky
2019-02-23 13:43:29
Windows PowerShell 批量遷移Windows用戶信息
781732825
2019-02-23 13:43:05
XP登錄時提示“無法加載配置文件,找不到指定文件”
781732825
2019-02-23 13:43:04
Set-ADUser 修改 Active Directory 用戶的屬性
gzh_1980
2019-02-23 13:42:29
組策略之(2)-------部署Bginfo軟件,桌面顯示用戶端信息
czq2008sky
2019-02-23 13:38:34
組策略之(3)-------用戶文件重定向
czq2008sky
2019-02-23 13:38:34
網站優化的靈魂——內容的重要性
zuotuitui
2019-02-23 13:37:36
網站建設應遵循用戶需求勝於一切
zuotuitui
2019-02-23 13:37:36
rsync實時備份
samplelife
2019-02-23 13:59:02