TableView部分

时间:2012-08-04 05:33:42

标签: ios uitableview

我想设计一个包含2个部分的动态表,第一部分有4个单元格,第二部分有41个单元格。我想分别编程这两个部分,但我只能修改一个部分。如何单独修改每个部分。我到目前为止写的代码是这样的:

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

        return 2;
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

        if (section == 0)
            return 4;
        else
            return 41;
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Questions";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if(cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Questions"];

        cell.textLabel.text = [NSString stringWithFormat:@"Question %lu", (unsigned long)indexPath.row +1];

        return cell;
    }
}

1 个答案:

答案 0 :(得分:2)

NSIndexPath具有row属性和section属性。从这两个属性中,您可以确定

中当前正在处理的单元格
  • <(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

例如:

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"Questions";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if(cell == nil)
         cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Questions"];

        if (indexPath.section == 0)
        {
            cell.textLabel.text = [NSString stringWithFormat:@"1st Group - Question %d", indexPath.row + 1];
        }
        else
        {
            cell.textLabel.text = [NSString stringWithFormat:@"2nd Group - Question %d", indexPath.row + 1];
        }

        return cell;
    }