2012-01-05 49 views
0

我正在開發具有與靜態細胞的UITableViewController中的應用程序。那些靜態單元是自定義單元,並且在它們內部具有UITextFields。如果用戶觸摸其中一個文本框,則會彈出鍵盤。所以,在那之後,我需要做的是能夠通過觸摸背景上的任何東西來關閉鍵盤。任何事情我的意思是表格視圖的背景,它的單元格和這些單元格的內容(例如文本字段)。的iOS 5:隱藏鍵盤的UITableViewController靜態細胞和文本框

我曾經放置在我所有的其他子視圖的前一個視圖做到這一點,捕捉觸摸內線補事件取消鍵盤。不幸的是,這次我不能這樣做,因爲我使用的是UITableViewController,我無法將它切換回UIViewController,因爲我已經對這些靜態單元做了很多工作。

回答

0

好了,我發現自己的答案。我需要做的只是在前臺編程式地放置一個UIView,按照我在原文中所說的做。我之前無法做到這一點,因爲我試圖通過Interface Builder來實現這一點。

1
-(void)touchesBegan: (NSSet *)touches withEvent:(UIEvent *)event{ 

[yourTextField resignFirstResponder]; 
} 

試試看。

編輯

嗨,

我有你的答案:

-(BOOL)isFirstResponder 

當你在文本字段中輸入的東西,它成爲第一個響應並出現鍵盤。如果[textField isFirstReponder]返回YES,您知道鍵盤處於活動狀態。

你也可能會看到link.may它會幫助你。

how to hide the keyboard when empty area is touched on iphone

+0

它的工作原理只是當我觸摸到一個單元......但我需要的是,當用戶觸摸的tableview,它的細胞或倒是任何其他子視圖(包括他人textviews)的背景下,以消除鍵盤。 – 2012-01-05 19:13:19

+0

我在編輯我的答案.... – Emon 2012-01-08 02:02:33