0

ユーザーがAをクリックすると、以下のコードで入力のがUITextField表示されます。UIDatePickerしかし、これを行うと、日付ピッカーと通常のテキストキーボードが同時に表示されます。キーボードの表示を無効にするにはどうすればよいですか?

- (IBAction)selectDateBegin:(id)sender {

if ([self.view viewWithTag:9]) {
    return;
}
CGRect toolbarTargetFrame = CGRectMake(0, self.view.bounds.size.height-216-44, 320, 44);
CGRect datePickerTargetFrame = CGRectMake(0, self.view.bounds.size.height-216, 320, 216);

UIView *darkView = [[UIView alloc] initWithFrame:self.view.bounds];
darkView.alpha = 0;
darkView.backgroundColor = [UIColor blackColor];
darkView.tag = 9;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissDatePicker:)] ;
[darkView addGestureRecognizer:tapGesture];
[self.view addSubview:darkView];

UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height+44, 320, 216)] ;
datePicker.tag = 10;
[datePicker addTarget:self action:@selector(changeDate:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:datePicker];

UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height, 320, 44)];
toolBar.tag = 11;
toolBar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissDatePicker:)];
[toolBar setItems:[NSArray arrayWithObjects:spacer, doneButton, nil]];
[self.view addSubview:toolBar];

[UIView beginAnimations:@"MoveIn" context:nil];
toolBar.frame = toolbarTargetFrame;
datePicker.frame = datePickerTargetFrame;
darkView.alpha = 0.5;
[UIView commitAnimations];}
4

2 に答える 2

1
-(void)textFieldDidBeginEditing:(UITextField *)sender
{
     [self.textFieldName resignFirstResponder];
   //
   //  Code ...continue,......for display DatePicker
   //
}
于 2013-03-09T10:59:58.623 に答える
0

datepicker (ナビゲーション バーに [OK] ボタンと [Cancel] ボタンがある) コンテナー用に別の UIView を作成し、それをtextfield.inputViewプロパティに割り当てます。詳細については、UITextField クラス リファレンスを参照してください。

これにより、デフォルトのキーボードの代わりに日付ピッカー ビューが読み込まれます。

同じことについて、ネット上でさらに多くの例を見つけることができます。

これがあなたが探しているものであることを願っています。

于 2013-03-09T11:01:57.197 に答える