0

因此,我希望能够做的是单击一个按钮,弹出一个 tableViewController,然后单击其中一个条目以将我带到一个新视图。

我已经使用从 NSArray 获得的正确条目设置了 tableView 弹出窗口。

我只是不知道怎么做,所以当我点击一个条目时,它会把我带到我想要的视图。我相信它与以下默认功能有关:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}

但我不确定。我有一个 NSArray *array 的条目和一个 MyViewController 类,所以如果你能帮我让它做类似下面的事情,那就太好了:

if(array entry 1) go to MyViewController1
if(array entry 2) go to MyViewController2 
etc...
4

4 回答 4

0

这是您必须做的我的朋友:选择一行时,该代表方法被调用。

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

     switch (indexpath.row) {
            case 1:
                {
                ViewController1 *VC1=[ViewController1 alloc]init];
                [self.navigationController pushViewController:VC1 animated:No];
                 break;
                }
           case 2:
               {
                ViewController2 *VC2=[ViewController2 alloc]init];
                [self.navigationController pushViewController:VC2 animated:No];
                break;
               }
          default:
                break;
        }
    }

希望这可以帮助你我的朋友..

于 2013-05-24T12:24:14.067 回答
0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
     int selectedEntry=indexpath.row;
     switch (selectedEntry) {
            case 1:
                ViewController1 *vc = [[ViewController1 alloc] init];    
                // Push View Controller 1 onto Navigation Stack
                [self.navigationController pushViewController:vc animated:YES];
                break;
            case 2:
                ViewController2 *vc2 = [[ViewController1 alloc] init];    
                // Push View Controller 2 onto Navigation Stack
                [self.navigationController pushViewController:vc2 animated:YES];
                break;
            default:
                break;
        }
    }
于 2013-05-24T12:25:14.550 回答
0
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row==1)
{
//Go to view
}
else if(indexPath.row==2)
{
//Go to view
}


}
于 2013-05-24T12:27:02.107 回答
0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

当您单击 tableview 时被调用indexpath。该方法中的方法为您提供了您选择的单元格

因此,indexpath.row它为您提供了应该查看的数组条目。amke 上的逻辑

  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
 int selectedEntry=indexpath.row;
 switch (selectedEntry) {
        case 1:
            //goto viewcontroller 1
            break;
        case 2:
            //goto viewcontroller 2
            break;
        default:
            break;
    }
}

推送方法

使用故事板

于 2013-05-24T12:05:10.957 回答