为UITableview中的每个部分设置不同的cellIdentifier?

时间:2013-12-11 00:34:27

标签: ios objective-c uitableview

我已经实现了SWRevealController(滑出菜单),我向AppCoda.com推荐了som帮助,这里是链接(http://www.appcoda.com/ios-programming-sidebar-navigation-menu/)。

我已经成功实现了它,使用与AppCoda解释相同的方式,为侧边栏中的每个单元格设置cellIdentifier,然后在storyBoard中设置样式。这一切都很棒!然而...

问题

所以问题是我想要这个表视图中的部分,以便我可以在不同的部分中使用不同的单元格,但是使用我现在的代码(下面的代码),我只得到一个重复的单元格(相同的单元格)如在我的第一部分)。我遇到了这些部分的问题,因为根据细胞标识符对每个细胞进行样式化。

这就是我得到的......

所以我的决议(没有工作)

所以我尝试做的是创建多个数组,每个部分一个,并像这样设置样式,

  if (indexPath.section == 1) {
    cell.textLabel.text = [_fitnessItems objectAtIndex:indexPath.row];
    if (indexPath.row == 0) {
        cell.imageView.image = [UIImage imageNamed:@"torso-25.png"];
    }
    if (indexPath.row == 1) {
        cell.imageView.image = [UIImage imageNamed:@"weightlift-25.png"];
    }
    if (indexPath.row == 2) {
        cell.imageView.image = [UIImage imageNamed:@"barbell-25.png"];
    }
   }

但是它有效,而且我得到了我想要的东西,然而,当我按下一个细胞时我试图做一个动作时非常轻浮,我这样做就是这样......

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath   *)indexPath{

[self performSegueWithIdentifier:@"test" sender:nil];
}

现在可能有办法解决此问题或修复单元格标识符。无论如何,这就是我尝试做的事情。

我现在在做什么

因此,如果您不太了解我在做什么,请查看AppCoda教程会导致我做了什么。但我想要一些细胞之间的部分。我尝试做的就是这个而且它正在努力工作......

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

{

if (indexPath.section == 1) {
    NSString *CellIdentifier = [self.fitnessItems objectAtIndex:indexPath.row];
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    return cell;
}

else {
NSString *CellIdentifier = [self.menuItems objectAtIndex:indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    return cell;
}

所以我有两个单元格标识符数组,我尝试将它们分配给每个部分,但它不起作用?

非常感谢任何帮助,并提前感谢。

0 个答案:

没有答案