簡體   English   中英

AddObserver UIKeyboardWillShowNotification指定對象的麻煩

[英]AddObserver UIKeyboardWillShowNotification trouble specifying object

我正在嘗試在鍵盤出現時收到通知,但我遇到的情況是我有2個UITextView並且需要能夠區分它們。 出於某種原因,我無法弄清楚如何使用“addObserver”的object參數來過濾它。 我有這樣的事情:

 UITextView* w = mSubview.mText;
 NSNotificationCenter* dnc = [NSNotificationCenter defaultCenter];
 [dnc addObserver:self selector:@selector(showNotesKeyboard:)  name:UIKeyboardWillShowNotification object:w ];

每當我指定w我都不會輸入showNotesKeyboard 只有當我傳入nil才會收到通知。 我必須在這里找到一些東西,請幫助我。 謝謝!

您可以在文本視圖開始編輯時添加觀察者嗎? 編輯將顯示鍵盤。

UITextView* w = mSubview.mText;
[w addTarget:self action:@selector(showNotesKeyboard:) forControlEvents:UIControlEventEditingDidBegin];

根據我的說法,只有當它是零時才會被調用,因為它是系統生成的通知,只有在為其中一個類創建自定義通知時才能指定對象。 我的意思是當你自己發布這個通知時。

這是文檔中對UIKeyboardWillShowNotification的討論

在顯示鍵盤之前立即發布。

通知對象為零。 userInfo字典包含有關鍵盤的信息。 使用“鍵盤通知用戶信息鍵”中描述的鍵從userInfo字典中獲取鍵盤的位置和大小。

因此,如果您指定的發件人對象不是nil,則不會收到任何通知。 如果您想知道哪個UITextView處於活動狀態,您可以檢查哪個是第一個響應者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM