8

私はアラームアプリを作成しています。をタップしたときに表示UIDatePickerしたい。UIActionSheetUITextField

4

3 に答える 3

8

これを行うには、実装する必要があり、アクションシートを次のように表示する必要がありますUIActionShetDelegateUITextFieldDelegatetextFieldDidBeginEditing

-(void)textFieldDidBeginEditing:(UITextField *)sender
{
  [self showAction];
}
-(void) showAction
{
  UIActionSheet *asheet = [[UIActionSheet alloc] initWithTitle:@"Pick the date." delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Select", nil];
  [asheet showInView:[self.view superview]];
  [asheet setFrame:CGRectMake(0, 117, 320, 383)];
  [asheet release];
}

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
  {

    UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];

   //Configure picker...
   [pickerView setMinuteInterval:5];
   [pickerView setTag: kDatePickerTag];

  //Add picker to action sheet
  [actionSheet addSubview:pickerView];

  [pickerView release];

  //Gets an array af all of the subviews of our actionSheet
  NSArray *subviews = [actionSheet subviews];

  [[subviews objectAtIndex:SelectButtonIndex] setFrame:CGRectMake(20, 266, 280, 46)];
  [[subviews objectAtIndex:CancelButtonIndex] setFrame:CGRectMake(20, 317, 280, 46)];

}
于 2012-08-23T16:40:30.923 に答える
5

ピッカーでテキストフィールドを使用する場合、テキストフィールドの入力ビューをセットアップし、利便性のために独自のツールバーを追加するのが最も簡単であることがわかりました。「UITextFieldDelegate」とピッカーメソッドが設定されていることを確認してから、そのように接続します。

 yourtextfield.delegate = self;
 [yourtextfield setInputView:yourpickerview];
 [yourtextfield setInputAccessoryView:doneBar];

 doneBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
 [doneBar setBarStyle:UIBarStyleBlackTranslucent];
 UIBarButtonItem *spacer2 = [[UIBarButtonItem alloc] 
                initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                target:nil
                action:nil];
 [doneBar setItems: [NSArray arrayWithObjects:spacer2, [[UIBarButtonItem alloc] 
                    initWithTitle:@"Done"
                    style:UIBarButtonItemStyleDone
                    target:yourtextfield 
                    action:@selector(resignFirstResponder)],nil ] animated:YES];

しかし、アクションシートを使用したい場合は、これが基本的なセットアップです:

アクションシートに UIPickerView とボタンを追加 - どのように?

于 2012-08-23T16:41:50.157 に答える
2

入力ビューUIDatePickerとして設定できます ( )。ActionSheet にはボタンのみを含めることができます。UITextField@property inputView

于 2012-08-23T16:30:53.937 に答える