2015-07-10 45 views
0

我在我的应用程序设计了一个键盘现在我的查询是,只要有人点击文本框设备上的键盘出现,我不想要 有没有什么办法可以禁用键盘,使用户可以看到在这个应用程序设计的键盘。如何限制键盘出现

回答

0

在你ViewController添加UITextField的代表:

@interface ViewController : UIViewController <UITextFieldDelegate> 

在创建UITextFieldViewDidLoad

self.myTextField.delegate = self; 

在您的实现文件:

#pragma mark - UITextFieldDelegate 

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

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    return NO; 
} 

注意,您可以根据自己的需要设置的textFieldShouldBeginEditing为NO或YES的回报,你的情况,你可能会返回YES,但提供显示您的自定义键盘

0
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    return NO; 
} 

,需要添加委托<UITextFieldDelegate>

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

+0

thanx chetan为你的答案,但这是基本的方法..我已经试过,在第一次去,但它不工作。 – Sandra

+0

你有设置文本框的代表在故事板中查看控制器吗? –

+0

是的,我已经和我在textFieldShouldBeginEditing里面调用了更多的函数。所以一切工作正常......只是该设备的内置键盘即将到来,我不想要我想用我自己设计的键盘。 – Sandra

0

设置inputView到零大小的逻辑视图:

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

可以使用以下的方法来限制键盘显示当在其上用户抽头:

方法:1

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    return NO; 
} 

此方法隐藏键盘并且不显示光标。

方法:2

UIView* HideView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)] autorelease];  
textField.inputView = HideView; 

这种方法隐藏键盘,但光标是出现。

0

您可以禁用用户交互。

textField.userInteractionEnabled = NO;