How to find out what UITextField caused a UIKeyboardWillShowNotification?

后端 未结 4 956
春和景丽
春和景丽 2021-02-19 04:42

I am trying to use a customized keyboard in my application, but I am hitting problems when trying to restrict it to one particular UITextField.

I based my code on this X

4条回答
  •  半阙折子戏
    2021-02-19 05:29

    You can write a UIView category method to find the first responder.

    - (UIView *)firstResponder
    {
        if ([self isFirstResponder])
        {
            return self;
        }
    
        for (UIView *view in self.subviews)
        {
            UIView *firstResponder= [view firstResponder];
            if (firstResponder)
            {
                return firstResponder;
            }
        }
    
        return nil;
    }
    

    Then in your - (void)keyboardWillShow:(NSNotification *)notification method you can use it like this

      UITextField *textField = (UITextField *)[self firstResponder];
    

提交回复
热议问题