在我的iOS應用程序中,我有幾個UIElement
可以處理用戶輸入:textfields,可編輯的webviews等,每次我寫入這些UIElement
s鍵盤(顯然)會出現。在發生之前,我可以通過觀察UIKeyboardWillShowNotification
來了解這一事件。iOS獲取哪個uielement調用UIKeyboardWillShowNotification
我想知道如何找出哪個UIElement
調用了此操作。
感謝您的幫助!
在我的iOS應用程序中,我有幾個UIElement
可以處理用戶輸入:textfields,可編輯的webviews等,每次我寫入這些UIElement
s鍵盤(顯然)會出現。在發生之前,我可以通過觀察UIKeyboardWillShowNotification
來了解這一事件。iOS獲取哪個uielement調用UIKeyboardWillShowNotification
我想知道如何找出哪個UIElement
調用了此操作。
感謝您的幫助!
當由用戶點擊視圖設置爲FirstResponder鍵盤推出,所以我覺得這個問題是在接收UIKeyboardWillShowNotification時說how do I get the current first responder相當於?
的answer to that question由托馬斯。穆勒是利用沿線的一類擴展:
@implementation UIView (FindFirstResponder)
- (UIView *)findFirstResponder
{
if (self.isFirstResponder) {
return self;
}
for (UIView *subView in self.subviews) {
UIView *firstResponder = [subView findFirstResponder];
if (firstResponder != nil) {
return firstResponder;
}
}
return nil;
}
@end
所以我認爲你可以用你的處理程序內的UIKeyboardWillShow弄清楚什麼原因造成的。
我認爲本文檔的第4部分(位於鍵盤下方的移動內容)可以爲您提供有關知道哪些元素具有鍵盤的提示。
在鏈接中使用UIKeyboardDidShow通知,@zoltan詢問有關獲取UIKeyboardWillShow通知的響應通知 –