私は、UITextFieldへの入力としてUIActionSheet内にUIDatePickerViewを持っています。キーボードの代わりにUITextField UIActionSheetに注目するとポップアップが表示されます。 UIActionSheetの終了ボタンをクリックすると、非表示になります。他のいくつかのテキストフィールドが正常に動作しています(キーボードを表示しています)。アクションシートがポップアップする場合は、キーボードを閉じる
- (void)textFieldDidBeginEditing:(UITextField *)textField {
if ([textField isEqual:txtExpDate]) {
[textField resignFirstResponder];
[self showDatePicker];
}
}
- (void) showDatePicker{
UIActionSheet *datePickerActionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:@"Done" otherButtonTitles:nil];
datePickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 80, 0, 0)];
datePickerView.datePickerMode = UIDatePickerModeDate;
[datePickerActionSheet addSubview:datePickerView];
[datePickerActionSheet showInView:self.navigationController.view];
[datePickerActionSheet setBounds:CGRectMake(0, 0, 320, 500)];
[datePickerActionSheet release];
}
今私の問題は、最初のユーザーが、通常のテキストフィールドをタップしましょう、です。キーボードをポップアップ表示します。終了ボタンを選択せずに、日付フィールドをタップします。アクションシートがポップアップ表示されます(キーボードを外すことなく)。アクションシートを隠した後、ユーザーは他のテキストフィールドをタップし、キーボードのリターンキーをクリックしなければなりません。
アクションシートがポップアップする場合は、キーボードを非表示にしたいですか?
テキストフィールドをトラッキングする必要はありません。不要なインスタンス変数。 –