我正在使用故事板的桌面视图应用程序中工作。我想在选择上进行活动
表视图中的单元格。因此,当我选择一个单元格元素时,下一个视图(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];
}
答案 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/作为开始。