在屏幕上没有 UITextView 的情况下,如何与 iPhone 键盘进行交互?

发布于 2025-01-04 17:53:13 字数 357 浏览 0 评论 0原文

我们希望我们的应用程序能够显示内置键盘之一(特别是数字键盘)并能够响应按键等操作,但不能通过屏幕上的任何内容(例如 UITextView)进行响应。实际上,我们只是将这些击键通过网络发送出去以进行其他操作,而不想用键盘重新发明轮子。将其视为我们使用键盘作为 UIButtons 矩阵,而不是我们必须手动创建自己的矩阵,然后担心外观和感觉等。

也就是说,

  1. 我们如何在屏幕上没有 UITextView 或类似控件的情况下显示键盘
  2. 我们如何选择要显示的键盘(同样,我们想要数字)。
  3. 我们如何响应 KeyDown/ KeyUp/KeyPress 消息或其他什么。

We would like our app to display one of the built-in keyboards (specifically the numeric one) and be able to respond to key presses and such, but not via anything on the screen such as a UITextView. We're actually just going to send those keystrokes out over the wire for something else and didn't feel like re-inventing the wheel with the keypad. Think of it as us using the keypad as a matrix of UIButtons rather than us having to manually create our own, then worry about look and feel and such.

That said,

  1. How can we show the keyboard with no UITextView or similar controls on the screen
  2. How do we choose which one to show (again, we want the numeric one.)
  3. How can we respond to KeyDown/KeyUp/KeyPress messages or what have you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

数理化全能战士 2025-01-11 17:53:13

您需要一个隐藏的 UITextField ,其具有适当的 键盘类型 指定您作为第一响应者的键盘类型。您可以使用 文本字段委托来响应键盘输入方法

不过,如果屏幕上没有按键反馈,这将是一个不寻常的用户界面。

You need a hidden UITextField with the appropriate keyboard type specified which you make first responder. You respond to keyboard entry by using the text field delegate methods.

It would be an unusual UI to have no on-screen feedback to key presses, though.

木格 2025-01-11 17:53:13

隐藏 UITextView 最安全的地方可能是 CGRectMake(0,view.frame.size.height,whateverWidth,whateverHeight)。然后,当您 addSubview: 时,根据定义,它将在屏幕外。如果允许旋转,您可能需要在 didRotateFromInterfaceOrientation 上重新定位框架 - 也许将 x 和 y 都设置为 MAX(view.frame.size.height,view.frame.size.width),这将始终在屏幕外。

否则,如果隐藏是一个问题,您可以使用 alpha .03 - 这几乎是不可见的,但仍然响应用户交互。这并不是这个问题的答案,但请把它放在你的后口袋里以供将来参考。

祝你好运,

达米安

The safest place for a hidden UITextView is probably at CGRectMake(0,view.frame.size.height,whateverWidth,whateverHeight). Then when you addSubview: it will be off screen by definition. You may need to relocate the frame on didRotateFromInterfaceOrientation if you allow rotation, though - perhaps make both x and y to MAX(view.frame.size.height,view.frame.size.width), which will always be off screen.

Otherwise, if hidden is a problem you can use alpha .03 - this is pretty much invisible but still responds to user interaction. That's not an answer for this exact problem, but keep it in your back pocket for future reference.

Good luck,

Damien

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文