1

是否有任何类似于NSDatePickerOS X 的视图,但用于选择持续时间(即小时、分钟和秒)而不是整个日期。谷歌搜索没有带来任何有用的东西,而且我还没有成功地定制NSDatePicker只适合持续时间——我的尝试在 12 小时(上午和下午)日期模式和不同时区的情况下无法正常工作。

4

2 回答 2

1

我认为没有任何现成的解决方案,但是用 3 个无边界文本字段和几个带有冒号的标签来制作自己的解决方案应该不难,所有这些都在一个 NSBox 中,旁边有一个步进器它。

我想我找到了一种适用于 NSDate 选择器的方法。我不确定为什么其中一些有效,但似乎有必要将语言环境设置为使用 24 小时制的地方,例如日本,并为选择器设置日历。我看到的唯一“故障”是在输入一些 1 位数字时有一点延迟(这是 Apple 在 OS X 10.5 中更改的内容,我认为让编辑器等着看你是否想添加第二个数字)。但是,您可以通过跳出该字段或单击另一个字段来立即更新它。所以这里是设置:

self.picker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"];
    self.cal = [NSCalendar currentCalendar];
    self.cal.timeZone = [NSTimeZone timeZoneWithName:@"GMT"];
    self.picker.calendar = self.cal;
    self.picker.timeZone = cal.timeZone;

这是选择器的操作方法:

    -(IBAction)dpClick:(NSDatePicker *)sender {
    NSDateComponents *comps = [cal components:NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit fromDate:sender.objectValue];
    NSLog(@"hours=%ld  minutes=%ld  seconds=%ld",comps.hour,comps.minute,comps.second);
}
于 2012-04-24T01:26:43.277 回答
0

您可以使用该-[NSDatePicker setDatePickerElements:]方法将日期选择器配置为仅显示日期的时间部分。

于 2012-04-19T15:54:15.820 回答