如何限制键盘出现

时间:2015-07-10 09:31:44

标签: ios objective-c iphone

我在我的应用程序上设计了一个键盘现在我的问题是每当有人点击文本字段时,设备上的键盘出现我不想要的 有没有办法禁用键盘,以便用户可以看到在这个应用程序上设计的键盘。

5 个答案:

答案 0 :(得分:0)

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

需要添加代理<UITextFieldDelegate>

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

洛尔

答案 1 :(得分: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,但提供显示自定义键盘的逻辑

答案 2 :(得分:0)

inputView设置为零大小的视图:

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

答案 3 :(得分:0)

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

方法:1

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

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

方法:2

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

此方法隐藏键盘,但会出现光标。

答案 4 :(得分:0)

您可以停用用户互动。

textField.userInteractionEnabled = NO;