Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 模拟UITextField';s键盘';以编程方式返回按键_Ios_Objective C_Uitextfield - Fatal编程技术网

Ios 模拟UITextField';s键盘';以编程方式返回按键

Ios 模拟UITextField';s键盘';以编程方式返回按键,ios,objective-c,uitextfield,Ios,Objective C,Uitextfield,是否有一种方法可以通过编程方式模拟按下“回车”键,例如,当用户按下回车键时,调用UITextField/UIKeyboard/任何调用的函数 我知道例程textFieldShouldReturn中的某个地方被调用,但我认为这不是唯一发生的事情?我简要介绍了调试器,似乎按下“return”键调用的函数远远不止一个 我要寻找的是一种拥有UITextField子类的方法,在这个子类中,我可以调用类似于[self.inputview returnKeyPressed],这个函数的作用与用户按下retur

是否有一种方法可以通过编程方式模拟按下“回车”键,例如,当用户按下回车键时,调用UITextField/UIKeyboard/任何调用的函数

我知道例程
textFieldShouldReturn
中的某个地方被调用,但我认为这不是唯一发生的事情?我简要介绍了调试器,似乎按下“return”键调用的函数远远不止一个


我要寻找的是一种拥有UITextField子类的方法,在这个子类中,我可以调用类似于
[self.inputview returnKeyPressed]
,这个函数的作用与用户按下return键时完全相同。

我想我要做的是实现UITextFieldDelegate方法,并实现文本字段结束编辑(保存等)时需要发生的一切。然后,对按钮所要做的就是调用一个方法,该方法实现了告诉文本字段退出第一响应者的代码


这样做,您将有一个方法处理文本字段应该结束编辑的两种方法。

我想我要做的是实现UITextFieldDelegate方法,并实现文本字段结束编辑(保存等)时需要发生的一切。然后,对按钮所要做的就是调用一个方法,该方法实现了告诉文本字段退出第一响应者的代码

执行此操作,您将有一个方法处理文本字段结束编辑的两种方法。

根据:

您可以在以下位置找到十六进制字符代码列表:
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
,如下所示:

您可以在中找到十六进制字符代码列表:
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
(适用于任何希望在将来实现此目标的程序员)

您可以通过将其添加到您希望“模拟”enter键的任何函数中来实现这一点

    [self textFieldShouldReturn:yourTextFieldName];
您需要在viewdidload中设置textfield委托,如下所示:

[youtTextFieldName setDelegate:self];
(适用于任何希望在未来实现此目标的程序员)

您可以通过将其添加到您希望“模拟”enter键的任何函数中来实现这一点

    [self textFieldShouldReturn:yourTextFieldName];
您需要在viewdidload中设置textfield委托,如下所示:

[youtTextFieldName setDelegate:self];

这是一个非常古老的话题,但是这个场景仍然是相关的,所以我来回答这个问题

如果,我强调你的注意力在大的如果上,你需要的是调用返回按钮背后的逻辑,那么我认为假设你已经在某处钩住了你的textfield的委托,这是非常直截了当的

您所需要的只是自己在textfield的委托上调用该方法

[textfield.delegate textFieldShouldReturn];

这是一个非常古老的话题,但是这个场景仍然是相关的,所以我来回答这个问题

如果,我强调你的注意力在大的如果上,你需要的是调用返回按钮背后的逻辑,那么我认为假设你已经在某处钩住了你的textfield的委托,这是非常直截了当的

您所需要的只是自己在textfield的委托上调用该方法

[textfield.delegate textFieldShouldReturn];

你想实现什么功能?只是不使用键盘,或者以编程方式插入换行符?实际上,我有一个按钮作为文本字段的右侧视图,用户除了可以选择按回车键外,还应该能够单击该按钮触发保存/搜索/任何操作。澄清一下,我说的是UITextField的一个子类,它可以被任何其他控件透明地使用。目前,我只是在点击按钮时调用
[self.delegate textfield shouldreturn:self]
,但我有点担心我需要调用的其他功能可能很重要。不过,您想实现哪些功能?只是不使用键盘,或者以编程方式插入换行符?实际上,我有一个按钮作为文本字段的右侧视图,用户除了可以选择按回车键外,还应该能够单击该按钮触发保存/搜索/任何操作。澄清一下,我说的是UITextField的一个子类,它可以被任何其他控件透明地使用。目前,我只是在点击按钮时调用
[self.delegate textfield shouldlreturn:self]
,但我有点担心我需要调用的其他函数可能很重要。不幸的是,
textfielddendediting
对我来说非常不可靠,例如,如果用户仅更改输入焦点,则不应进行保存
textFieldShouldReturn
似乎是放置自定义代码的正确位置,我宁愿调用此方法(除了我需要调用的任何其他方法来模拟完全成熟的返回按钮?@JiaYow好吧,无论哪种方式,您都可能希望添加一个检查,以查看内容是否更改,所以你选择哪个方向可能无关紧要。你不应该调用这些方法中的任何一个。左文本字段根据需要调用它们。不幸的是,
textfielddidediting
对我来说非常不可靠,因为例如,如果用户只更改输入焦点,则不应进行保存
textFieldShouldReturn
似乎是放置自定义代码的正确位置,我宁愿调用此方法(除了我需要调用的任何其他方法来模拟完全成熟的返回按钮?@JiaYow好吧,无论哪种方式,您都可能希望添加一个检查,以查看内容是否更改,所以你选择哪个方向可能无关紧要。你不应该调用这些方法中的任何一个。左侧文本字段根据需要调用它们。
CGEventCreateKeyboardEvent
和相关API仅适用于macOS<代码>UITextF