使用didSelectRowAtIndexPath

时间:2013-11-28 11:50:03

标签: ios uitableview

我有一个包含5个单元格的表格,如果用户点击我的第二​​个单元格,我想显示另一个表格或另一个页面。

正在使用

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

方式?

3 个答案:

答案 0 :(得分:0)

示例链接:http://www.tutorialspoint.com/ios/ios_ui_elements_tableview.htm

 if (indexPath.row ==1)

 {

           //Second cell index path its move another class xib

    classname *yourcontroller = [[classname alloc] initWithNibName:@"xib file name" bundle:nil];

    yourcontroller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentViewController:helpcontroller animated:YES completion:nil];

}

答案 1 :(得分:0)

以下是用户点击第二个单元格时导航到另一个视图控制器的示例(假设您有导航控制器):

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

    if(indexPath.row == 1){

        MyViewController * vc = [[MyViewController alloc] init];
        [self.navigationController pushViewController:vc animated:YES];

    }

}

答案 2 :(得分:0)

如果您使用的是故事板,则可以跳过tableView:didSelectRowAtIndexPath:并改为使用prepareForSegue:sender:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"__SEGUE_IDENTIFIER__"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

        SomeOtherViewController *vc = (SomeOtherViewController *)segue.destinationViewController;
            // assign something to vc
    }
}