3

日を選択するための選択リストと、選択した日付を表示するためのテキストフィールドがあります。こんな感じになります…

代替テキスト

いずれかの日付を選択すると、次のようになります。

代替テキスト

テキストフィールドの十字記号は、コードによって実現されます。

textField.clearButtonMode=UITextFieldViewModeAlways;

私の問題は、このクロスボタンをクリックしているときにキーボードが表示されたことです。これは…のようなものです。

代替テキスト

しかし、私はテキストフィールドを消去するためだけにクロスボタンが欲しいです。キーボードは来るべきではありません。出来ますか?

4

4 に答える 4

3

テキストフィールドの「編集が開始されました」メソッドに、次を追加します。

[UITextField resignFirstResponder];

これが適切に配置されていると、そのキーボードは表示されません。

ハッピーコーディング:)

于 2011-01-24T05:54:25.407 に答える
3

UITextFieldDelegateで、メソッドを実装して;を- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField返します。NO

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO;
}
于 2011-01-24T05:54:42.307 に答える
1

そのテキストフィールドの編集可能なプロパティをfalseに設定してみてください。

于 2011-01-24T05:24:41.787 に答える
0

他の人が言っているように、UITextFieldDelegateプロトコルとメソッドを介してキーボードを非表示にすることができます[texfField resignFirstResponder]。または、vfnが提案したように、キーボードが完全に表示されないようにすることもできます。

ただし、そのボタンの場合はclearButtonMode、テキストフィールドのプロパティを設定する必要があります。使用可能なオプションを確認するには、次をお読みください:http: //developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html#//apple_ref/doc/c_ref/UITextFieldViewMode

于 2011-01-24T06:04:53.947 に答える