harsh chauhan
harsh chauhan

Reputation: 139

How to hide/show date picker on button click?

I have a UIDatePicker and I want to hide and show on UIButton Click .

For this I am using BOOL variable isTouchFirst.but it hide and show on second event of button.

Please resolve this problem.And also check first it work on double click event.

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;
      }

Upvotes: 2

Views: 1878

Answers (2)

Ermal Kaleci
Ermal Kaleci

Reputation: 126

Make it hidden = YES by default

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

Upvotes: 0

emotality
emotality

Reputation: 13025

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];
}

Upvotes: 1

Related Questions