无法在UIDatePicker上设置日期

时间:2017-02-21 18:14:20

标签: ios uidatepicker

我的应用程序中有一个DatePicker,用于选择日期(UIDatePickerModeDate)。以下是期望的行为

  1. 当用户进行选择时,我将值保存在NSDate成员变量中,以便我可以在需要时设置该值。

  2. 一旦用户做出选择,他就可以移动到下一个视图。如果用户返回到datepicker视图,则UIDatePicker应显示先前的选择。

  3. 现在我正在模拟以下情况

    1. 用户进行选择(比如说2月21,2017),它为我的成员变量设置一个值。
    2. 现在他旋转年轮,同时旋转到下一个屏幕/视图。
    3. 当用户导航回DatePicker视图时,我将UIDatePicker日期设置为2017年2月21日,这是之前的选择,但我看到了不同的值。
    4. 我不知道我错过了什么。我想要的是在UIDatePicker上设置一个值。任何帮助表示赞赏。感谢

      这是代码

      -(void)viewDidLoad {
          [super viewDidLoad];
          // Do any additional setup after loading the view, typically from a nib.
           [self.datePicker addTarget:self action:@selector(onWheelSpin) forControlEvents:UIControlEventValueChanged];
      }
      
      -(void)onWheelSpin {
          [self setSelectedDate:[self.datePicker date]];
          NSLog(@"Selected date = %@",self.datePicker.date.description);
      }
      
      -(void)viewWillAppear:(BOOL)animated {
          [super viewWillAppear:animated];
          if(self.selectedDate) {
              //after setting the selectedDate, I see that some random date is shown in Picker
              [self.datePicker setDate:self.selectedDate];
          } else {
              [self.datePicker setDate:[NSDate date]];
          }
      }
      

0 个答案:

没有答案