Ios 如何限制键盘显示

Ios 如何限制键盘显示,ios,objective-c,iphone,Ios,Objective C,Iphone,我已经在我的应用程序上设计了一个键盘,现在我的问题是,每当有人点击文本字段时,设备上的键盘就会出现,这是我不想要的 是否有任何方法禁用键盘,以便用户可以看到此应用程序上设计的键盘 -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { return NO; } 并且需要添加代理 在这种方法中,您还可以编写代码来显示自定义键盘 lol在ViewController中添加UITextField的委托: 在您的实现文件中:

我已经在我的应用程序上设计了一个键盘,现在我的问题是,每当有人点击文本字段时,设备上的键盘就会出现,这是我不想要的 是否有任何方法禁用键盘,以便用户可以看到此应用程序上设计的键盘

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    return NO;
}
并且需要添加代理

在这种方法中,您还可以编写代码来显示自定义键盘

lol

在ViewController中添加UITextField的委托:

在您的实现文件中:

 #pragma mark - UITextFieldDelegate

-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    [textField resignFirstResponder];
}

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    return NO;
}
请注意,您可以根据需要将textFieldShouldBeginEditing的返回设置为否或是,在您的情况下,您可以返回是,但提供显示自定义键盘的逻辑将inputView设置为零大小的视图:

textField.inputView = [[UIView alloc] initWithFrame:CGRectZero];

当用户点击键盘时,可以使用以下方法限制键盘显示:

方法:1

此方法隐藏键盘,不显示光标

方法:2


此方法隐藏键盘,但会显示光标。

您可以禁用用户交互

textField.userInteractionEnabled = NO;

谢谢你的回答,但这是基本方法。。我一开始就试过了,但它不起作用。你有没有将textfield的委托设置为在情节提要中查看控制器?是的,我有,我还在textfield内调用1个函数shouldBeginediting。所以一切都很顺利。。。只是设备的内置键盘即将推出,我不想使用我自己设计的键盘。@Sandra你有没有花时间检查我的答案?
textField.inputView = [[UIView alloc] initWithFrame:CGRectZero];
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{
    return NO; 
}
UIView* HideView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)] autorelease];    
textField.inputView = HideView; 
textField.userInteractionEnabled = NO;