我在tableview中有两个不同的部分。我想在点击不同部分的行时导航到两个不同的viewcontrollers。我知道这可以在didSelectRowAtIndexPath()方法中完成,但我正在考虑如何区分不同部分中的行的点击。如果可以实现,请帮助我吗?
答案 0 :(得分:2)
您可以使用 switch
语句来确定UITableView
的部分。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
switch ( indexPath.section )
{
case 0:
{
FirstViewController * first = [[FirstViewController alloc] init];
[self.navigationController pushViewController: first animated: YES];
}
break;
case 1:
{
SecondViewController * second = [[SecondViewController alloc] init];
[self.navigationController pushViewController: second animated: YES];
}
break;
}
}
答案 1 :(得分:1)
在你的doSelectRowtIndexPath中执行类似的操作: -
if (indexPath.section==0 && indexPath.row==0) {
//Do Something
}
或者你可以使用开关盒。
答案 2 :(得分:0)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *viewController;
switch (indexPath.section) {
case 0:
viewController = [[[FirstExampleViewController alloc] init] autorelease];
break;
case 1:
viewController = [[[SecondExampleViewController alloc] init] autorelease];
break;
case 2:
viewController = [[[ThirdExampleViewController alloc] init] autorelease];
break;
default:
viewController = [[[UIViewController alloc] init] autorelease];
}
[self.navigationController pushViewController:viewController animated:YES];
}