0

我正在尝试创建自定义 UIPickerView,如下所示..:

http://img824.imageshack.us/img824/3015/pickercustom.png

示例:从“8h15”到“12h15”

我对这个概念完全视而不见。

请帮助我...任何想法,想法将不胜感激。

4

6 回答 6

1

请参阅UIPickerView 的文档

于 2012-04-12T09:31:08.257 回答
1

它可能不是 DatePicker,它可能是这样配置的 UIPickerView 的一个实例:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIPickerView_Class/Reference/UIPickerView.html

于 2012-04-12T09:31:21.207 回答
0

使用 UIDatePicker 无法做到这一点。请改用PickerView。您可以连续显示“8h15”到“12h15”。

于 2012-04-12T09:32:12.703 回答
0

您可以将 UIPickerView 控件与 3 个段一起使用。在每个段上填充预定义数据。

于 2012-04-12T09:33:35.017 回答
0

您将不得不自定义 UIPickerView。为了选择小时,您应该创建两个具有您想要的值/标题的数组。

    UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(22, 170, 275, 217)];
    pickerView.delegate = self;
    pickerView.dataSource = self;
    pickerView.showsSelectionIndicator = YES;
    pickerView.opaque = NO;
    [self.view addSubview:pickerView];
    [pickerView release];

在委托方法中

    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {

return 3;
    }

   - (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:    (NSInteger)component {
NSInteger count =   0;
switch (component) {
    case 0:
        count   =   [arrayHours1 count];
        break;
            case 1:
                    count   =       1;
    case 2:
        count   =   [arrayHours2 count];
        break;
}
return count;
    }

    - (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSString *title =   @"";
switch (component) {
    case 0:
        title =  [arrayHours1 objectAtIndex:row];
        break;
    case 2:
        title   =   [arrayHours2 objectAtIndex:row];
        break;
}
return title;

    }

希望这可以帮助!

于 2012-04-12T09:37:10.327 回答
0

你可以检查一下:-

代码在这里

NSDate *选择 = datePickerView 。日期;

        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];

        [formatter setDateFormat:@"yyyy-MM-dd"];

        //[formatter setDateFormat:@"dd-MM-yyyy"];

        NSString *weekday = [formatter stringFromDate:choosen];

        invoiveDateTxtFld.text = [[NSString alloc] initWithFormat:@"%@", weekday];
于 2012-04-12T09:51:09.197 回答