我的编程背景来自 C 和一些 C++ 编程,在过去的几年里特别强调 C#。
我对 Cocoa 和 ObjectiveC 编程非常陌生(更不用说 Mac 的东西了),我正在开发一个 iPad 应用程序。
我想从标准屏幕键盘获取键盘代码,但不使用任何(至少可见)控件,如文本字段。另外,我想在您按下它时立即获取键码,检测按键向下和向上事件。
关于如何做到这一点的任何提示?
提前谢谢佩德罗·杜阿尔特
我的编程背景来自 C 和一些 C++ 编程,在过去的几年里特别强调 C#。
我对 Cocoa 和 ObjectiveC 编程非常陌生(更不用说 Mac 的东西了),我正在开发一个 iPad 应用程序。
我想从标准屏幕键盘获取键盘代码,但不使用任何(至少可见)控件,如文本字段。另外,我想在您按下它时立即获取键码,检测按键向下和向上事件。
关于如何做到这一点的任何提示?
提前谢谢佩德罗·杜阿尔特
[编辑] 在看到你的问题中的关键点和关键点之后!!!
我知道如何捕获按下和按下事件的唯一方法是使用 gestureRecognizer 对象,或者在其中编写自己的自定义代码
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
和
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
问题是您无法用自己的方式覆盖自然键盘触摸事件结构,以便能够分别捕获向上和向下事件。这就到了真正可悲的部分。为了做到这一点,您很可能必须使用我上面提到的例程创建自己的键盘以及事件结构,因为即使是gestureRecognizer 对象也不够精细,无法分别为您提供向下和向上事件。
[ORIGINAL] 当你希望有键盘输入时,这样做的方法是在屏幕上放置一个不可见的 UITextField。
然后,您将实现部分或全部 UITextField 委托方法,以在编辑结束时、期间等获取您的文本......
这里有几个 SO 链接也可以帮助您入门!
// 下面实现了一个自定义键盘功能,将文本输入限制为浮点数字(不是科学或任何东西,只是带有单个句点的简单浮点数),并将文本重新放回启动输入的可见 UITextField。
使用下面的代码,当用户点击 UISegmentedControl 的元素(因为他们希望更改所按下的文本)时,会在代码中动态创建 UITextField。UITextField 变得不可见,并且文本应用于 UISegmentedControl 项的文本。
One doesnt have to implement it this way. You could statically define your UITextField, make it invisible (on screen), and only activate the keyboard for it when the object you wish to have its text changed is tapped, etc...