2012-03-27 71 views

回答

0

當文本字段退出第一個響應者時,鍵盤將隱藏。當鍵被按下時,文本字段委託被告知(textField:shouldChangeCharactersInRange:replacementString:)。如果你需要更多的細節,請多加努力,並向我們展示你到目前爲止所嘗試的內容。

+0

告訴我如何通過使用委託來實現這一點。我已經使用了UITextFieldDelegate。請告訴我,我可以在我的.m文件中寫入的代碼。當我按下除返回鍵以外的任何鍵時,我只想隱藏鍵盤。任何鍵可以是特殊字符或a-z。 – user1295948 2012-03-27 15:50:25

+0

請告訴我如何實現此功能? – user1295948 2012-03-27 16:22:47

+0

這不是一個代碼寫入服務。你看看這裏:http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextFieldDelegate_Protocol/UITextFieldDelegate_Protocol.pdf – jrturton 2012-03-27 16:31:58

0

爲此,您必須創建自定義鍵盤,或者必須重寫鍵盤方法。但是你不能重寫。因爲你不知道,在哪個方法和哪個代碼中感知那個框架中的按鍵。所以最好寫一個自定義鍵盤。

+0

我必須在默認鍵盤上完成任務。請爲我提供解決方案,否則我將被解僱。 – user1295948 2012-03-27 16:00:23

1

您可以嘗試UIKeyInput協議。用插入文字捕獲插入文本 http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIKeyInput_Protocol/Reference/Reference.html

您是否使用過協議?

編輯: 然後可以使用方法 [文本字段resignFirstResponder];

隱藏鍵盤

EDIT2:協議 總之,要對協議作出迴應類的接口必須聲明爲(在YourClass.h):

@interface YourClass:NSObject<UIKitInput> 

然後,您必須在YourClass.m中實現協議方法:

#pragma mark - 
#pragma mark UIKeyInput Protocol Methods 

- (BOOL)hasText { 
    ..... 
    return NO; 
} 

- (void)insertText:(NSString *)theText { 
    ...; 
} 

- (void)deleteBackward { 
    .... 
} 

祝你好運!

+0

@ user1295948哇。我認爲這會爲你工作.. – 2012-03-27 15:54:27

+0

不,我沒有使用protocols.It是我的一項任務,我可以隱藏鍵盤使用IBAction和佈線文本這與退出事件結束 – user1295948 2012-03-27 15:55:19

+0

我應該寫邏輯在有文本方法?你能實現這個嗎? – user1295948 2012-03-27 16:16:03