如何在按钮点击时隐藏/显示日期选择器?

时间:2015-10-31 09:56:30

标签: ios iphone xcode

我有一个UIDatePicker,我想在UIButton上隐藏和显示。

为此,我使用BOOL变量isTouchFirst。但它隐藏并显示第二个按钮事件。

请解决此问题。并首先检查它是否适用于双击事件。

if(isTouchFirst){   
        isTouchFirst=NO;
        self. DatePicker.hidden=NO; 
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd"];
        _DatePicker.datePickerMode = UIDatePickerModeDate;
        formatedDate=[[NSString alloc]init];
        formatedDate = [dateFormatter stringFromDate:self.DatePicker.date];
        self.SelectedDate.text =formatedDate;
        [DatePicker setMinimumDate: [NSDate date]];
        _goDateForcustmoeDetail=formatedDate;
    }
 else {  
       isTouchFirst=YES;
       self. DatePicker.hidden=YES;
      }

2 个答案:

答案 0 :(得分:1)

BOOL datePickerHidden;

- (void)viewDidLoad
{
    [super viewDidLoad];
    datePickerHidden = YES;

    // _datePicker = [UIDatePicker alloc...
    [_datePicker setHidden: datePickerHidden];

    // UIButton *dateHiddenSwitchBtn = [UIButton alloc...
    dateHiddenSwitchBtn addTarget:self action:@selector(switchDatePickerHidden) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:dateHiddenSwitchBtn];
}

- (void)switchDatePickerHidden
{
    if (datePickerHidden) datePickerHidden = NO;
    else datePickerHidden = YES;

    [_datePicker setHidden: datePickerHidden];
}

答案 1 :(得分:0)

默认情况下设为hidden = YES

- (void)buttonTapped:(UIButton *)sender {
   sender.selected = !sender.selected;
   datePicker.hidden = !sender.selected;
}