数字键盘关闭?
Posted
技术标签:
【中文标题】数字键盘关闭?【英文标题】:Numeric keyboard dismiss? 【发布时间】:2010-05-29 12:42:06 【问题描述】:大家好,
我有 2 个 textFeild 和 1 个 textview。
在 2 个文本字段中,一个文本字段需要在其中填写数字。 所以为此我提供了数字键盘。 我无法关闭数字键盘,因为我无法使用任何选项来关闭数字键盘。
是否可以关闭数字键盘 ??
如果是,那么任何人都可以指导我完成。
问候 希希尔
【问题讨论】:
【参考方案1】:您有 2 个选项:在小键盘键盘中添加返回键盘或捕捉用户选择另一个文本字段的事件并在那里关闭小键盘。这是将返回(完成)按钮添加到数字键盘的链接。 Done in numpad keyboard
【讨论】:
郑重声明,向标准键盘添加按钮是完全不受支持的,并且可能会损坏。我在网上看到的所有实现在各种情况下都失败了,例如在不同样式的文本字段之间移动时,或者在完全使用不同键盘的 iPad 上。 @vodkhang 这是终极辅导员neoos.ch/news/46-development/… ...感谢您的帖子 嗯...有趣...虽然我还没有看到它在我的应用程序中失败。我会记住这一点。谢谢 但正如我已经提到的,还有一个问题,我有两个文本字段,一个包含数字,另一个可以包含字符。我实现了 urs 的代码。当点击数字文本字段时,数字键盘会随着完成按钮上升,按钮,但是当我点击另一个文本字段时,字符键盘会出现,数字键盘的完成按钮仍然存在//// .. ....我应该怎么做才能删除此链接非常感谢再次提供链接 你能检查一下 - (void)keyboardWillShow:(NSNotification *)note 是否被再次调用。如果是,您必须使用以下命令删除观察者: [[NSNotificationCenter defaultCenter] removeObserver:self];在适当的地方【参考方案2】:没有关闭数字小键盘的按钮(尽管在 iPad 上您可以这样做)。如果您想自己执行此操作,则必须在代码中调用 [textfield resignFirstResponder]
。
【讨论】:
问题 Mike,什么事件可以让你知道用户点击了你的文本字段以外的地方?我以为是 EdittingDidEnd 但这似乎不是做 ResignFirstResponder 的地方。【参考方案3】:还有另一种可能的方法。对于那些正在寻找完美事物的人来说,vodkhang 的答案非常好。但是,如果您正在寻找一些解决方法,那么textField.inputAccessoryView
可能会很有用。这个想法是在inputAccessoryView
中显示完成按钮。以下是示例代码
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 60, 25)];
view.backgroundColor = [UIColor grayColor];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Done" forState:UIControlStateNormal];
button.frame = CGRectMake(320-60, 0, 60, 25);
[view addSubview:button];
textField.inputAccessoryView = view;
有几点需要注意。
accessoryView
的宽度等于屏幕宽度。因此,您需要编写一些代码来根据您的应用程序管理外观。
您可以为圆顶按钮赋予任何外观。而且在这里你不必担心苹果在键盘上的设计变化。
【讨论】:
以上是关于数字键盘关闭?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Swift在Xcode上创建自定义数字键盘? [关闭]