How do I show the keyboard by default in UITextView?
Asked Answered
A

3

39

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.

Aesthetics answered 3/11, 2008 at 20:23 Comment(0)
T
69

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];
}
Tangled answered 3/11, 2008 at 20:29 Comment(1)
I just found this. For me viewWillAppear doesn't work but viewDidAppear seems to do the job!Substantialize
R
19

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()
Reedreedbird answered 7/5, 2016 at 9:31 Comment(0)
E
6

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.

Eiffel answered 5/9, 2016 at 19:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.