【发布时间】:2012-09-26 09:45:27
【问题描述】:
创建只有两个轮子的 UIPicker 的最佳方法是:日期和时间,如下所示:
Fri 5 June | 15:30
Sat 6 June | 15:35 < Selected
Sun 7 June | 15:40
日期将前后 7 天,时间还包括“现在”。
【问题讨论】:
标签: iphone objective-c ios uipickerview uidatepicker
创建只有两个轮子的 UIPicker 的最佳方法是:日期和时间,如下所示:
Fri 5 June | 15:30
Sat 6 June | 15:35 < Selected
Sun 7 June | 15:40
日期将前后 7 天,时间还包括“现在”。
【问题讨论】:
标签: iphone objective-c ios uipickerview uidatepicker
首先创建一个 UIPickerview 和 Pickerview 的委托将是这样的 -
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:
(NSInteger)component
{
if (component == 0)
{
return [arr_Date count];
}
else
{
return [arr_Time count];
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component
{
if (component == 0)
{
return [arr_date objectAtIndex:row];
}
else
{
return [arr_Time objectAtIndex:row];
}
}
日期在您的 arr_date 中包含 7 个日期。
【讨论】:
你可以通过使用 UIPickerViewDelegate 方法来做到这一点:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
还可以通过this tutorial 了解如何实现多组件 UIPicker .. 希望对您有所帮助
【讨论】:
API 不提供执行此操作的方法。您可以使用 UIPickerView 而不是使用 UIDatePicker 自己制作一个非常令人信服的副本。
由于 UIDatePicker 或 UIPickerView 没有 UI_APPEARANCE_SELECTOR,即使您无法将 UIDatePicker 内容的外观更改为其 UIControl 并且没有任何委托,因此它具有其本机外观,而在 UIPickerView 的情况下,您可以更改其内容'外观类似于 UITableView。
查看此链接与您的情况相同 Custom iOS UIDatepicker using UIAppearance
【讨论】: