2015-07-10 60 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;