的UIDatePicker弹出后UIButton的是pressed [英] UIDatePicker pop up after UIButton is pressed

查看:143
本文介绍了的UIDatePicker弹出后UIButton的是pressed的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎样才能使一个的UIDatePicker弹出(动画)后,一个UIButton是pressed,然后一旦选择了这个日期再次关闭?这是在iPhone上。


解决方案

  canihaz code?

是的,先生。感谢您帮助我拖延。

   - (无效)CHANGEDATE:(*的UIDatePicker)发送{
 的NSLog(@新日期:%@,sender.date);
} - (无效)removeViews:(ID){对象
 [[self.view viewWithTag:9] removeFromSuperview];
 [self.view viewWithTag:10] removeFromSuperview]
 [self.view viewWithTag:11] removeFromSuperview]
} - (无效)dismissDatePicker:(ID)发送{
 的CGRect toolbarTargetFrame = CGRectMake(0,self.view.bounds.size.height,320,44);
 的CGRect datePickerTargetFrame = CGRectMake(0,self.view.bounds.size.height + 44,320,216);
 [UIView的beginAnimations:@时差背景:无];
 [self.view viewWithTag:9]。阿尔法= 0;
 [self.view viewWithTag:10] .frame = datePickerTargetFrame;
 [self.view viewWithTag:11] .frame = toolbarTargetFrame;
 [UIView的setAnimationDelegate:个体经营];
 [UIView的setAnimationDidStopSelector:@selector(removeViews :)]。
 [UIView的commitAnimations];
} - (IBAction为)callDP:(ID)发送{
 如果([self.view viewWithTag:9]){
  返回;
 }
 的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的页头] initWithFrame:方法self.view.bounds]自动释放];
 darkView.alpha = 0;
 darkView.backgroundColor =的UIColor blackColor]
 darkView.tag = 9;
 UITapGestureRecognizer * tapGesture = [[[UITapGestureRecognizer页头] initWithTarget:自我行动:@选择(dismissDatePicker :)]自动释放];
 [darkView addGestureRecognizer:tapGesture];
 [self.view addSubview:darkView]; *的UIDatePicker =日期选择器[[[的UIDatePicker的alloc] initWithFrame:方法CGRectMake(0,self.view.bounds.size.height + 44,320,216)]自动释放];
 datePicker.tag = 10;
 [日期选择器addTarget:自我行动:@选择(CHANGEDATE :) forControlEvents:UIControlEventValueChanged];
 [self.view addSubview:日期选择器]; UIToolbar *工具栏= [[[UIToolbar页头] initWithFrame:方法CGRectMake(0,self.view.bounds.size.height,320,44)自动释放];
 toolBar.tag = 11;
 toolBar.barStyle = UIBarStyleBlackTranslucent;
 *的UIBarButtonItem间隔= [[[的UIBarButtonItem页头] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace目标:无行动:无]自动释放];
 *的UIBarButtonItem = doneButton [[[的UIBarButtonItem页头] initWithBarButtonSystemItem:UIBarButtonSystemItemDone目标:自我行动:@选择(dismissDatePicker :)]自动释放];
 [工具栏setItems:[NSArray的arrayWithObjects:间隔,doneButton,无]];
 [self.view addSubview:工具栏]。 [UIView的beginAnimations:@MoveIn背景:无];
 toolBar.frame = toolbarTargetFrame;
 datePicker.frame = datePickerTargetFrame;
 darkView.alpha = 0.5;
 [UIView的commitAnimations];
}

How can I make a UIDatePicker pop up (animated) after a UIButton is pressed, and then close down again once the date is selected? This is on the iPhone.

解决方案

canihazcode?

Yes, sir. Thanks for helping me procrastinating.

- (void)changeDate:(UIDatePicker *)sender {
 NSLog(@"New Date: %@", sender.date);
}

- (void)removeViews:(id)object {
 [[self.view viewWithTag:9] removeFromSuperview];
 [[self.view viewWithTag:10] removeFromSuperview];
 [[self.view viewWithTag:11] removeFromSuperview];
}

- (void)dismissDatePicker:(id)sender {
 CGRect toolbarTargetFrame = CGRectMake(0, self.view.bounds.size.height, 320, 44);
 CGRect datePickerTargetFrame = CGRectMake(0, self.view.bounds.size.height+44, 320, 216);
 [UIView beginAnimations:@"MoveOut" context:nil];
 [self.view viewWithTag:9].alpha = 0;
 [self.view viewWithTag:10].frame = datePickerTargetFrame;
 [self.view viewWithTag:11].frame = toolbarTargetFrame;
 [UIView setAnimationDelegate:self];
 [UIView setAnimationDidStopSelector:@selector(removeViews:)];
 [UIView commitAnimations];
}

- (IBAction)callDP:(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] autorelease];
 darkView.alpha = 0;
 darkView.backgroundColor = [UIColor blackColor];
 darkView.tag = 9;
 UITapGestureRecognizer *tapGesture = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissDatePicker:)] autorelease];
 [darkView addGestureRecognizer:tapGesture];
 [self.view addSubview:darkView];

 UIDatePicker *datePicker = [[[UIDatePicker alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height+44, 320, 216)] autorelease];
 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)] autorelease];
 toolBar.tag = 11;
 toolBar.barStyle = UIBarStyleBlackTranslucent;
 UIBarButtonItem *spacer = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease];
 UIBarButtonItem *doneButton = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissDatePicker:)] autorelease];
 [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];
}

这篇关于的UIDatePicker弹出后UIButton的是pressed的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆