如果你在屏幕上有幾個文本字段,鍵盤彈出的每一個當他們挖,如果你想以編程方式隱藏鍵盤什麼,或者辭職第一響應,但是您不知道將哪個文本字段發送給resignFirstResponder
消息?有沒有辦法確定哪個對象/文本字段應該得到這條消息?如何確定哪些文本框是目前第一響應
4
A
回答
2
的你可以跟蹤哪些文本字段的是要麼設置您的視圖控制器的第一個響應者是所有文本字段的委託對象,然後當你的子類的文本字段獲取「becomeFirstResponder
」方法調用,告訴您的視圖控制器哪個文本字段是當前的。
或者,有一個更鈍力的做法,是類別擴展「UIView
」:
@implementation UIView (FindAndResignFirstResponder)
- (BOOL)findAndResignFirstResponder
{
if (self.isFirstResponder) {
[self resignFirstResponder];
return YES;
}
for (UIView *subView in self.subviews) {
if ([subView findAndResignFirstResponder])
return YES;
}
return NO;
}
@end
0
沒有公共的方法來獲得當前的第一響應者,但你可以做的事情仍然得到它;第一個顯然是要自己跟蹤這個。你可以以各種方式做到這一點,如果你不想觸摸任何現有的類,但只是想讓它工作,一個類別和方法swizzling將訣竅。然而,更清晰的解決方案是遍歷視圖層次結構,並詢問它們是當前第一響應者的視圖。你可以用根UIWindow
啓動並開始迭代,或者你可以用你當前UIViewController
的看法開始,但請記住,當前的第一響應者並不一定是你的根的一部分UIWindow
視圖層次結構(例如,如果你在UIAlertView
內有一個文本字段)。
7
檢查所有的文本框的呼叫
[textfield isFirstResponder]
0
你可以檢查你的所有文本字段,而不是輕易識別。
[textfield isFirstResponder];
-1
嘗試此(SWIFT 3):
if textField.isEditing {
textField.resingFirstResponder()
}
相關問題
- 1. Visual Studio 2010如何確定哪些項目是測試項目?
- 2. 哪個NSTextView是第一響應者?
- 3. 如何確定哪些是來自WinDBG的前臺.NET線程?
- 4. Javascript:如何確定一串文本中的哪些字符是大寫字母?
- 5. 如何確定哪一天是當前語言環境中的第一天?
- 6. 如何確定哪一天是當前語言環境中的第一週C
- 7. 確定哪些因素是第一位的
- 8. 如何確定哪個文本框是關注的並向其添加文本?
- 9. 如何確定哪個文本框是重點並添加文本...........?
- 10. 如何確定哪些應該是父表以及哪些應該是定義父子關係時的子表
- 11. 如何比較目錄以確定哪些文件已更改?
- 12. 如何確定哪些副本集Mongo數據庫是
- 13. 我如何確定哪些文本框觸發textFieldDidEndEditing含2個uiTextFields
- 14. 確定哪些文件從
- 15. 我應該如何確定哪些是必須「本地複製」的引用?
- 16. 如何確定哪個Makefile的目標是給定的文件?
- 17. 確定哪些是圖像中的文本和圖形區域
- 18. 如何確定網頁的哪些部分是加密的,哪些不是?
- 19. jQuery UI Datepicker只響應第一個文本框
- 20. 如何確定哪些Visual Studio解決方案使用哪些項目?
- 21. 網絡套接字 - 確定哪個請求目前正在響應socket.on(「數據」)
- 22. 如何確定當前正在運行哪些進程
- 23. 使用2個選擇自動確定哪些是在第三
- 24. 如何正確編碼一些文本
- 25. 日期文本框應始終爲當前第一個日期。?
- 26. 如何確定哪些使用jQuery
- 27. 如何確定哪些多個按鍵綁定是被解僱
- 28. 如何在一個版本中確定文件的文本塊來自以前版本中的哪個文件?
- 29. 如何確定緊湊框架的哪些.Net功能?
- 30. iOS/Swift 3.0:你如何確定哪些行在UITableView中當前是可見的?
的[獲取當前的第一響應者,而無需使用一個私有API]可能重複(http://stackoverflow.com/questions/1823317/get-當前第一響應者不使用一個私人api) – 2012-08-08 04:27:55
我覺得'[self.view endEditing:YES];'是更好的解決方案。 – 2017-04-20 14:15:11