37

我想创建一个仅由UITextView. 当视图首次显示时,默认情况下,我希望键盘可见并准备好输入文本。这样,用户不必UITextView为了开始编辑而触摸第一个。

这可能吗?我看到班级有一个通知,UITextViewTextDidBeginEditingNotification但我不确定如何发送,或者这是否是正确的方法。

4

3 回答 3

69

要做到这一点,只需将 becomeFirstResponder 消息发送到您的 UITextField,如下所示(假设您有一个名为 textField 的插座,指向相关字段):

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [textField becomeFirstResponder];
}
于 2008-11-03T20:29:56.747 回答
17

在斯威夫特

要自动显示键盘,请执行以下操作:

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

笔记

  • 这假定文本视图是可编辑的。
  • 适用于两者UITextViewUITextField
  • 隐藏键盘使用textView.resignFirstResponder()
于 2016-05-07T09:31:19.850 回答
6

以下使用 Swift 对我来说效果很好

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

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

关键是使用 viewDidAppear 函数。

于 2016-09-05T19:39:13.917 回答