Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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时显示自定义控件_Ios_Iphone_Uitextfield - Fatal编程技术网

Ios 单击UITextField时显示自定义控件

Ios 单击UITextField时显示自定义控件,ios,iphone,uitextfield,Ios,Iphone,Uitextfield,在iOS中,单击UITextField时,将弹出一个系统默认数字键盘。我有自己的控制权。我想在单击UITextField时打开自己的控件,就像系统默认的数字键盘一样。我可以在编程中这样做吗?如果是,如何使用自定义视图和自定义按钮。键盘本身非常容易操作,只需在视图上放置一些按钮,然后显示该视图。真正的问题是将按钮操作连接到文本字段 您必须检查第一个响应程序,然后在其文本中添加与自定义键盘对应的值。在文本字段中从键盘实际“键入”这些奇怪的字符将是一个更加困难的问题。我不熟悉它们,这些是真正的ASCI

iOS
中,单击
UITextField
时,将弹出一个系统默认数字键盘。我有自己的控制权。我想在单击
UITextField
时打开自己的控件,就像系统默认的数字键盘一样。我可以在编程中这样做吗?如果是,如何使用自定义视图和自定义按钮。键盘本身非常容易操作,只需在视图上放置一些按钮,然后显示该视图。真正的问题是将按钮操作连接到文本字段

您必须检查第一个响应程序,然后在其文本中添加与自定义键盘对应的值。在文本字段中从键盘实际“键入”这些奇怪的字符将是一个更加困难的问题。我不熟悉它们,这些是真正的ASCII字符吗


不管怎么说,你有相当多的工作要做。编写代码并不困难,需要一些复杂的算法,但实现起来会很复杂,所以使用自定义视图和自定义按钮时要小心。键盘本身非常容易操作,只需在视图上放置一些按钮,然后显示该视图。真正的问题是将按钮操作连接到文本字段

您必须检查第一个响应程序,然后在其文本中添加与自定义键盘对应的值。在文本字段中从键盘实际“键入”这些奇怪的字符将是一个更加困难的问题。我不熟悉它们,这些是真正的ASCII字符吗


不管怎么说,你有相当多的工作要做。编写代码不是很困难,需要一些复杂的算法,但实现起来会很棘手和复杂,所以要小心

你可以通过
[self.view endEditing:YES]隐藏键盘并显示您自己的控件

尝试下面的代码行上方
UITextField
委托方法:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;        // return NO to disallow editing.
- (void)textFieldDidBeginEditing:(UITextField *)textField;           // became first responder

您可以通过
[self.view endEditing:YES]隐藏键盘并显示您自己的控件

尝试下面的代码行上方
UITextField
委托方法:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;        // return NO to disallow editing.
- (void)textFieldDidBeginEditing:(UITextField *)textField;           // became first responder

请尝试以下代码。确保将代理分配到
UITextField

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [textField resignFirstResponder];
    CustomNumberPadViewController *customNumberPadViewController = [[CustomNumberPadViewController alloc] initWithNibName:@"CustomNumberPadView" bundle:nil];
    [self presentViewController:CustomNumberPadViewController animated:YES completion:nil];
}

请尝试以下代码。确保将代理分配到
UITextField

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [textField resignFirstResponder];
    CustomNumberPadViewController *customNumberPadViewController = [[CustomNumberPadViewController alloc] initWithNibName:@"CustomNumberPadView" bundle:nil];
    [self presentViewController:CustomNumberPadViewController animated:YES completion:nil];
}

这里有一个用于此目的的属性。只需将其与自定义控件的视图一起分配,如下所示:

[yourTextField setInputView:yourCustomControlsView];

这里有一个用于此目的的属性。只需将其与自定义控件的视图一起分配,如下所示:

[yourTextField setInputView:yourCustomControlsView];

那么如何在单击时添加我自己的控件?@GoddessGuard-你可以通过动画来完成,你可以通过显示一个视图控制器来完成。@GoddessGuard-首先在上面的委托方法中隐藏键盘,然后在相同的方法中,然后在控件中添加启动代码,然后如何在单击时添加我自己的控件?@GoddessGuard-你可以通过动画进行操作您可以通过在视图控制器上显示控件来进行操作。@GoddessGuard-首先在上面的委托方法中隐藏键盘,然后在相同的方法中隐藏键盘,然后在控件中添加启动代码。我只想显示一个自定义的数字键盘。那么单击时如何打开它呢?我只想显示一个定制的数字键盘。那么单击时如何打开它呢?