2012-06-22 27 views
1

在我的iOS應用程序中,我有幾個UIElement可以處理用戶輸入:textfields,可編輯的webviews等,每次我寫入這些UIElement s鍵盤(顯然)會出現。在發生之前,我可以通過觀察UIKeyboardWillShowNotification來了解這一事件。iOS獲取哪個uielement調用UIKeyboardWillShowNotification

我想知道如何找出哪個UIElement調用了此操作。

感謝您的幫助!

回答

3

當由用戶點擊視圖設置爲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弄清楚什麼原因造成的。

相關問題