What you are trying to achieve can be simply done by changing the method invocation - For example:
if (reminderPickerIsDisplayed == NO) {
[self extendRetractPicker:reminderTimePicker andLabel:closeReminderLabel withPickerY:435 andLabelY:314];
reminderPickerIsDisplayed=YES;
}
Or you could change the extendRetractPicker
method to
- (BOOL)extendRetractPicker:(UIDatePicker *)picker
andLabel:(UILabel*)label
withPickerY:(int)pickerY
andLabelY:(int)labelY
isDisplayed:(BOOL)isDisplayed {
[UIView animateWithDuration:.5
delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
picker.center = CGPointMake(picker.frame.origin.x + (picker.frame.size.width/2), pickerY);
label.center = CGPointMake(label.frame.origin.x + (label.frame.size.width/2), labelY);
}
completion:nil];
return !isDisplayed;
}
and then your invocation would simply be
reminderPickerIsDisplayed = [self extendRetractPicker:reminderTimePicker andLabel:closeReminderLabel withPickerY:435 andLabelY:314 isDisplayed:reminderPickerIsDisplayed];