从tableview导航到另一个视图

时间:2013-08-07 08:24:14

标签: iphone ios objective-c uitableview storyboard

我正在使用故事板的桌面视图应用程序中工作。我想在选择上进行活动

表视图中的单元格

。因此,当我选择一个单元格元素时,下一个视图(detailview)应该是

打开以显示更多详细信息。

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
 {  
    self.dv = [[Detail alloc]initWithNibName:@"Detail" bundle:nil];


    dv.dic = [self.arr1 objectAtIndex:indexPath.row];


    [self.view addSubview:dv.view];
}

3 个答案:

答案 0 :(得分:1)

而是试试这个:

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{  
       self.dv = [[Detail alloc]initWithNibName:@"Detail" bundle:nil];


        dv.dic = [self.arr1 objectAtIndex:indexPath.row];


       [self presentViewController:dv animated:YES completion:nil];

}

如果你想解雇使用这段代码:

[self dismissViewControllerAnimated:YES completion:nil];

答案 1 :(得分:1)

您应该使用导航控制器,在选择行时,将详细视图推入其中。

创建导航控制器:选择tableview控制器并转到编辑器/嵌入/导航控制器。

然后做:

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

{
    // dv = [Detail alloc] initWithNibName:@"Detail" bundle:nil];
    dv = [storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];
    dv.dic = [self.arr1 objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:dv];
}

如果您没有使用故事板,则注释行。

或者你可以按照阿卜杜拉的建议去做,但是用

实现一个解雇按钮
[self dismissViewControllerAnimated:YES completion:nil];

答案 2 :(得分:0)

在故事板中,将视图底部的viewcontroller图标中的segue拖动到要转移到的下一个viewcontroller。确保您的视图嵌入在导航控制器中。按下tableviewcontroller和目标视图控制器之间出现的箭头,并确保使用segue标识符对其进行标记。然后在您描述的方法中确保使用if语句选择正确的索引路径并写入

[self performSegueWithIdentifier:@"theNameOfYourIdentifierFromTheStoryboard"];

话虽如此,我认为你应该研究大量的信息。

请阅读:http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/作为开始。