Add UIPickerView & a Button in Action sheet - How?

后端 未结 11 1625
遥遥无期
遥遥无期 2020-11-22 15:40

My application requires following things to be added in an action sheet.

  • UIToolbar
  • Button on UIToolbar
  • UIPicker Control

I have

11条回答
  •  深忆病人
    2020-11-22 16:15

    Yep ! I finally Find it.

    implement following code on your button click event, to pop up action sheet as given in the image of question.

    UIActionSheet *aac = [[UIActionSheet alloc] initWithTitle:@"How many?"
                                                 delegate:self
                                        cancelButtonTitle:nil
                                   destructiveButtonTitle:nil
                                        otherButtonTitles:nil];
    
    UIDatePicker *theDatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0.0, 44.0, 0.0, 0.0)];
    if(IsDateSelected==YES)
    {
        theDatePicker.datePickerMode = UIDatePickerModeDate;
        theDatePicker.maximumDate=[NSDate date];
    }else {
        theDatePicker.datePickerMode = UIDatePickerModeTime;
    }
    
    self.dtpicker = theDatePicker;
    [theDatePicker release];
    [dtpicker addTarget:self action:@selector(dateChanged) forControlEvents:UIControlEventValueChanged];
    
    pickerDateToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    pickerDateToolbar.barStyle = UIBarStyleBlackOpaque;
    [pickerDateToolbar sizeToFit];
    
    NSMutableArray *barItems = [[NSMutableArray alloc] init];
    
    UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    [barItems addObject:flexSpace];
    
    UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(DatePickerDoneClick)];
    [barItems addObject:doneBtn];
    
    [pickerDateToolbar setItems:barItems animated:YES];
    
    [aac addSubview:pickerDateToolbar];
    [aac addSubview:dtpicker];
    [aac showInView:self.view];
    [aac setBounds:CGRectMake(0,0,320, 464)];
    

提交回复
热议问题