我在表视图中创建了一个具有自定义UITableViewCell的侧边菜单。
我创建了一个可重复使用的单元格,用于以下内容:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
LeftMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"LeftMenuTableViewCell" owner:nil options:nil];
for (UIView *view in views) {
if([view isKindOfClass:[UITableViewCell class]])
{
cell = (LeftMenuTableViewCell*)view;
[cell.displayName setText:[NSString stringWithFormat:@"Cell 1"];
}
}
}
return cell;
}
我想知道如何为此表创建其他单元格。该表将类似于Facebook / Path侧菜单。例如 我的简历 设置 救命 注销
虽然标签和旁边的图标有不同的文字,但每个都有相同的设计。还会在右侧加载不同的视图控制器。有人能解释一下这是如何实现的吗?或者提供任何教程的链接,该教程解释了使用多个不同的单元格创建自定义表格视图,我是否需要复制单元格.h,.m和NIB文件并单独创建每个自定义UITabelViewCell?
答案 0 :(得分:0)
使用相同的单元格类并将其设置为(因为单元格没有设计更改,只有文本和图像正在更改),
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//some code
if () { //condition 1
cell.textLabel.text = @"My Profile";
cell.imageView.image = [UIImage imageNamed:@"MyProfile.png"];
} else if () { //condition 2
cell.textLabel.text = @"Settings";
cell.imageView.image = [UIImage imageNamed:@"Settings.png"];
} else if () { //condition 3
cell.textLabel.text = @"Logout";
cell.imageView.image = [UIImage imageNamed:@"Logout.png"];
}
//some code
}
在didSelectRowAtIndexPath
方法中,
if () { //condition 1, say indexpath.row == 0
//go to firstviewcontroller
} else if () { //condition 2, say indexpath.row == 1
//go to secondviewcontroller
} else if () { //condition 3, say indexpath.row == 2
//go to thirdviewcontroller
}
这对你有用吗?