我的编程背景来自于C和一些C ++编程,过去几年都非常重视C#。
我是Cocoa和ObjectiveC编程的新手(更不用说Mac的东西了),我正在开发一个iPad应用程序。
我想从标准的屏幕键盘获取键盘代码,但不使用任何(至少可见)控件,如文本字段。此外,我希望在您按下它后立即获取密钥代码,同时检测按键和向上事件。
有关如何做到这一点的任何提示?
提前谢谢你 Pedro Duarte
答案 0 :(得分:0)
<强> [编辑] 强> 看到密钥后,现在就提出问题中的想法!!!
我知道如何捕获按下的唯一方法,并使用gestureRecognizer对象按下事件,或者在
中编写自己的自定义代码-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
和
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
问题是您无法用自己的方式覆盖自然键盘触摸事件结构,以便能够分别捕获上下事件。这成了真正悲伤的部分。为了做到这一点,你很可能必须使用上面描述的例程创建自己的键盘和事件结构,因为甚至gestureRecognizer对象也不够精细,无法单独为你提供向下和向上事件。
<强> [原稿] 强> 这样做的方法是在你希望键盘输入的时候在屏幕上放置一个不可见的UITextField。
然后,您将实现部分或全部UITextField委托方法,以便在编辑结束时,等期间抓取您的文本......
以下是一些可以帮助您入门的SO链接!
//下面实现了一个自定义键盘功能,它将文本输入限制为浮点数字(不科学或任何东西,只有一个句点的简单浮点数),并将文本重新放回到启动输入的可见UITextField上
Need a robust solution to keyboard entry of an integer value in Settings bundle
使用下面的代码,当用户点击UISegmentedControl的元素时,可以在代码中动态创建UITextField(因为他们希望更改所按下的文本中的文本)。 UITextField不可见,文本将应用于UISegmentedControl项的文本。
Change title of segmented control with edit button?
一个人不必这样实现它。您可以静态定义您的UITextField,使其不可见(在屏幕上),并且只有在您希望更改其文本的对象被点击等时才激活它的键盘...