我有一个datePicker实例,该实例链接到IBOutlet

@interface SomeClass() {

    __weak IBOutlet UIDatePicker *datePicker;
}

现在在我的awakeFromNib方法中,设置minimumDatemaximumDatedate属性
- (void)awakeFromNib {

    [datePicker setMinimumDate:[[NSDate date] dateByAddingTimeInterval:60*10]];
    [datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:60*60*24*10]];
    [datePicker setDate:datePicker.minimumDate];

    NSLog(@"%@", datePicker.date);
    //Logs Correct Value
}

datePicker.date方法中设置后登录awakeFromNib时,它提供正确的值。到现在为止都很好。

现在,当我尝试在视图初始化后获取日期值时,例如,在按钮单击事件上,它为我提供了默认值,即当前日期值。
- (IBAction)aButtonTouchUpInsideEvent:(UIButton *)button {
    NSLog(@"%@", datePicker.date);
    //Logs [NSDate date] value
}

我想知道为什么它没有给我在awakeFromNib方法中设置的值。我尝试搜索此问题,但没有运气。

最佳答案

您的值有时会被系统覆盖。您可以将代码移到-willMoveToSuperview:

关于ios - NSDatePicker返回默认日期,即使以编程方式设置日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29121833/

10-12 14:34
查看更多