4

我的 XIB 文件中有 aUITextField和 a UIDatePicker,现在我将选择的日期指定为我UIDatePicker的文本字段中文本的值。我做得很好,我现在唯一的问题是我希望在我点击文本字段时不显示键盘。我相信有人知道答案,如果你能分享我会很高兴:) 谢谢!

顺便提一句。我试过这个,但它没有用..

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField resignFirstResponder];
}
4

5 回答 5

13

只需将 设置UIDatePicker为您的UITextField.

当用户单击UItextField带有UIDatePicker.

self.dateTextField.inputView = self.datePicker;
于 2013-07-03T08:34:03.283 回答
4

您可以在您的UITextField和返回NO中设置委托textFieldShouldBeginEditing

于 2013-07-03T08:39:03.123 回答
3

尝试这个:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if (textField.tag == YOU_TEXT_FIELD_TAG) {
        return NO;
    }
    return YES;
}

不要忘记让 yourViewController 符合<UITextFieldDelegate>并设置yourTextField.delegate = self;

于 2014-02-12T04:53:21.817 回答
1

由于我没有看到完整的答案,我也需要,并在这里找到一些答案的解决方案,我将把我的代码。

只需将一些“空白” UIView 作为输入视图。

目标 C

  UIView *hideKeyboardView = [[UIView alloc]init];
  self.yourTextField.inputView = hideKeyboardView;

迅速

let hideKeyboardView = UIView()
yourTextField.inputView = hideKeyboardView
于 2019-04-18T16:17:51.810 回答
-2

我已经修好了!我在上面添加了以下代码viewDidLoad

    [self.dateField addTarget:self action:@selector(textFieldDidBeginEditing:) 
forControlEvents:UIControlEventEditingDidBegin];

我仍然使用

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField resignFirstResponder];
}

无论如何,感谢您的所有帮助!希望这个线程对其他人有所帮助..

于 2013-07-03T08:59:03.263 回答