2013-08-07 104 views
0

我正在使用故事板的表格视图应用程序工作。我想在表格视图中执行选中的事件从tableview导航到另一个视图

。因此,当我选择一个单元格元素时,下一个视图(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]; 
} 
+1

可能重复的[如何在使用故事板的表视图中添加子视图](http://stackoverflow.com/questions/18075389/how-to-add-subview-in-table-view-using-story-board ) – occulus

+2

不要两次发布相同的问题。 – occulus

+1

by @occulus hh;) – null

回答

0

做阿卜杜拉的建议,但实施驳回按钮,在故事板拖动从视图 - 控制图标SEGUE 。确保您的视图嵌入在导航控制器中。按下你的tableviewcontroller和目标视图控制器之间出现的箭头,并确保你用一个segue标识符来标记它。然后在方法你描述确保他们选择了正确的索引路径与如果语句,写

[self performSegueWithIdentifier:@"theNameOfYourIdentifierFromTheStoryboard"]; 

话虽这么说,我觉得有一个庞大的身躯,你应该研究信息。

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

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]; 
+0

这给我错误SIGABRT。 –

+1

它在哪里崩溃(使用断点)? –

+0

当我选择行它不执行任何事件和应用程序崩溃:( –

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]; 
} 

的注释行。

或者你可以在你的视图到下一个视图 - 控制的底部要Segue公司与

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

dv的局部声明隐藏了实例变量。 –

+0

编辑了解决问题的答案,但是我不建议创建一个实例变量,而是在用户选择一行时创建一个变量。说明:如果用户没有选择任何行,那么实例变量仍然被创建,但没有被使用,因此没有理由地被使用内存。 –

相关问题