How do I show the keyboard by default in UITextView?

50,591

Solution 1

to accomplish that just send the becomeFirstResponder message to your UITextField, as follows (assuming you have an outlet called textField, pointing to the field in question):

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [textField becomeFirstResponder];
}

Solution 2

In Swift

To automatically show the keyboard, to the following:

override func viewDidLoad() {
    super.viewDidLoad()
    
    // show keyboard
    textView.becomeFirstResponder()
}

Notes

  • This assumes that the text view is editable.
  • Works for both UITextView and UITextField
  • To hide the keyboard use textView.resignFirstResponder()

Solution 3

Following worked fine for me using Swift

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    // Show keyboard by default
    billField.becomeFirstResponder()
}

Key is to use the viewDidAppear function.

Share:
50,591
bpapa
Author by

bpapa

iOS engineer

Updated on March 22, 2020

Comments

  • bpapa
    bpapa about 4 years

    I want to create a view that consists solely of a UITextView. When the view is first shown, by default, I'd like the keyboard to be visible and ready for text entry. This way, the user does not have to touch the UITextView first in order to begin editing.

    Is this possible? I see the class has a notification called UITextViewTextDidBeginEditingNotification but I'm not sure how to send that, or if that is even the right approach.