2013-04-04 178 views
3

即時通訊的初學者,請幫助我如何顯示彈出日曆,當用戶按下按鈕。我已經有低於當用戶按下按鈕彈出日期選擇器

UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
button.frame= CGRectMake(60, 560, 150, 30); 
[button setTitle:@"Select Date" forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside]; 
+0

你可以給這個旋轉。 https://github.com/square/objc-TimesSquare – random 2013-04-04 03:11:22

+0

爲iPhone或iPad? – 2013-04-04 05:45:08

+0

@Manohar ipad – Godric 2013-04-04 06:05:46

回答

14

我的按鈕在.h文件中

UIDatePicker *datepicker; 
UIPopoverController *popOverForDatePicker; 

請.h文件中UIPopoverControllerDelegate

設置委派.m文件

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    button.frame= CGRectMake(60, 560, 150, 30); 
    [button setTitle:@"Select Date" forState:UIControlStateNormal]; 
    [button setBackgroundColor:[UIColor redColor]]; 
    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:button]; 
} 
- (void)buttonAction:(UIButton *)sender 
{ 
    UIViewController *viewController = [[UIViewController alloc]init]; 
    UIView *viewForDatePicker = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 100)]; 

    datepicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 0, 200, 100)]; 
    datepicker.datePickerMode = UIDatePickerModeDate; 
    datepicker.hidden = NO; 
    datepicker.date = [NSDate date]; 
    [datepicker addTarget:self action:@selector(LabelChange:) forControlEvents:UIControlEventValueChanged]; 

    [viewForDatePicker addSubview:datepicker]; 
    [viewController.view addSubview:viewForDatePicker]; 

    popOverForDatePicker = [[UIPopoverController alloc]initWithContentViewController:viewController]; 
    popOverForDatePicker.delegate = self; 
    [popOverForDatePicker setPopoverContentSize:CGSizeMake(200, 100) animated:NO]; 
    [popOverForDatePicker presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:(UIPopoverArrowDirectionUp|UIPopoverArrowDirectionDown| UIPopoverArrowDirectionLeft|UIPopoverArrowDirectionRight) animated:YES]; 
} 
-(void)LabelChange:(id)sender 
{ 
    NSDateFormatter *df = [[NSDateFormatter alloc]init]; 
    df.dateStyle = NSDateFormatterMediumStyle; 
    NSLog(@"%@",[NSString stringWithFormat:@"%@",[df stringFromDate:datepicker.date]]); 
} 
+0

只需粘貼這個,讓我知道 – 2013-04-04 06:29:21

+1

它工作的男人...如果我可以,還有一個問題,我需要設置什麼屬性,如果我想這個彈出模式,所以後面的按鈕不會點擊??。 。@ Manohar – Godric 2013-04-04 08:52:17

+0

找不到你..再來... Modal的意思是? – 2013-04-04 09:00:39