SectionedTableView中的节标题

时间:2013-01-12 06:30:18

标签: iphone uitableview xcode4.5

我创建了一个Sectioned tableView,我需要以编程方式设置标题。但标题不是静态的。我想显示日期和日期,这些日期和日期再次不是静态的,作为特定部分的标题。我将它们都存储在NSString中

在一个上下文中,我必须像这样展示:

1/12/2013 Saturday                        //section 0
13:00hrs  14:00hrs  15:00hrs

1/13/2013 Sunday                          //section 1
14:00hrs  15:00 hrs

对于另一家公司,我必须这样显示:

1/15/2013 Tuesday                        //section 0
13:00hrs  14:00hrs  15:00hrs

1/16/2013 Wednesday                      //section 1
14:00hrs  15:00 hrs

1/17/2013 Thursday                       //section 2
14:00hrs  15:00 hrs

像这样,但在这里我没有静态的公司数量和静态日期和日期。  我正在检查特定条件并在特定日期和日期显示。我必须将标题设置为该部分的日期和日期。

我该怎么做?

日期和日期的计算如下:

-(void)LoadData
{

for(int i=0;i<5;i++)
    {

        NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

        NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
        [offsetComponents setDay:i];
        NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate: [NSDate date]options:0];
        [offsetComponents release];
        [gregorian release];


        NSDateFormatter *formatterforGridSectionDate=[[[NSDateFormatter alloc]init] autorelease];
         formatterforGridSectionDate.dateFormat = @"MM/dd/yyyy";
        getDateinGridSection=[[NSString stringWithFormat:@"%@",[formatterforGridSectionDate stringFromDate:nextDate]] componentsSeparatedByString:@""];
        gridSectionDate=[[getDateinGridSection valueForKey:@"description"] componentsJoinedByString:@""];
        NSLog(@"%@",gridSectionDate); // Here I get date in MM/dd/yyyy format 
        weekdayString=[nextDate descriptionWithCalendarFormat:@"%A" timeZone:nil locale:[[NSUserDefaults standardUserDefaults]dictionaryRepresentation]];
        NSLog(@"Day :%@",weekdayString);
        [self check];


    }
      //creating a tableView 


}

-(void)check
{
 //calling the service url for the particular day and date and store the values in array
        NSLog(@"%@",array);

        if([array count]>0)
       {
          [tblViewarray addObject:array];

       }
}

如何将日期和日期作为在tableview中加载哪个部分的标题?

1 个答案:

答案 0 :(得分:2)

<强>更新

此处您的要求是在UITableView的每个部分显示日期名称的日期。

您有一系列日期,例如名称为 yourDateArray ,此处我创建了如何在每个具有所需日期格式的部分上显示该日期的代码。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return [yourDateArray count];
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{


    NSString *str = [yourDateArray objectAtIndex:section];

    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateFormat:@"MM/dd/yyyy"];

    NSDate *date = [dateFormatter dateFromString: str];

    dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateFormat:@"MM/dd/yyyy EEEE"];

    NSString *convertedString = [dateFormatter stringFromDate:date];
    NSLog(@"Converted String : %@",convertedString);

    return convertedString;
}