【发布时间】:2013-03-05 13:44:17
【问题描述】:
客户希望有一个UIDatePicker,其中只有一个组件是可选的。因此,与其有单独的日/月和年选项,客户只希望选择一个完整的日期(即 05-03-2013)
我是否需要为此构建一个自定义选择器视图,它的数据源来自 nsdateformatter,或者我可以使用本机 UIDatePicker 并且只显示 1 个组件?
编辑:
经过一些研究,我最终得到了以下实现。我第一次设置开始和结束日期的地方。后记我会遍历 start 和 enddate 之间的所有日子,并将它们保存在一个可变数组中。
int numberOfDaysToThePast = 356;
NSDate * startDate = [NSDate date];
NSDate * endDate = [NSDate date];
startDate = [startDate addTimeInterval:-(24 * 60 * 60* numberOfDaysToThePast)];
dateArray = [[NSMutableArray alloc] init];
for (NSDate *date = [startDate copy]; [date compare: endDate] < 0;
date = [date dateByAddingTimeInterval:24 * 60 * 60] ) {
NSString* dateString = [formatter stringFromDate:date];
[dateArray addObject:dateString];
}
//add custom picker
pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
pickerView.delegate = self;
pickerView.dataSource = self;
[self.view addSubview:pickerView];
【问题讨论】:
-
这样问不是个好问题......如果你试图满足客户的要求,100% 的应用程序应该像“有一个单独的日/月和年选项”......那你会很头疼的……
-
您说的没错,但是作为一家企业,我们希望满足每位客户的需求。所以带来痛苦;)
标签: iphone ios date datepicker components