UITableView部分。对于每个单元格 - 带有标题的部分

时间:2015-06-17 14:59:55

标签: ios uitableview

请告诉我如何为每个细胞部分推导出来?

目前显示4个部分,但只显示第一个单元格(相同)。

以下是代码:

    @implementation ViewController{
    NSArray *tableCellTitle;
    NSArray *sectionsTitle;

}

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.

        tableCellTitle = [NSArray new];
        tableCellTitle = @[@"Cell 1", @"Cell 2", @"Cell 3", @"Cell 4"];

        sectionsTitle = [NSArray new];
        sectionsTitle = @[@"Section 1", @"Section 2", @"Section 3", @"Section 4"];


    }

    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
        return 1;
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *simpleTableIdentifier = @"TableCell";

        UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
        }

        cell.textLabel.text = [tableCellTitle objectAtIndex:indexPath.row];
        return cell;
    }

    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
            // Return the number of sections.
            return [tableCellTitle count];
    }


   -(NSString)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
   {
            return [sectionsTitle objectAtIndex:section];
   }

1 个答案:

答案 0 :(得分:0)

您必须使用numberOfSectionsInTableView方法而不是1来返回。

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

     return sectionsTitle.count; 
}

并在cellRowAtIndexPath:方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *simpleTableIdentifier = @"TableCell";

        UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
        }

        cell.textLabel.text = [tableCellTitle objectAtIndex:indexPath.section];
        return cell;
    }