您好,登錄后才能下訂單哦!
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函數的調用是很關鍵的一句。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。