Iphone 如何从情节提要中的表视图调用细节视图
我有以下问题 我创建了一个基于选项卡的应用程序,其中包含三个视图和Viewcontroller。 FirstView(开始屏幕内容)、SecondView(详细信息页)、ThirdView(列出项目的表格)。 (来自情节提要的连接已自动设置) 在第三个视图中,集成了一个表,内容显示良好 现在,当选择表中的一行时,我想调用SecondView 我还尝试在tabBar控制器之外添加一个forth视图,以获取Detailview,但这也没有帮助 我已经尝试了一些教程和论坛提示,但无法使其正常工作 该类设置为右ViewController,标识符设置为detailIphone 如何从情节提要中的表视图调用细节视图,iphone,Iphone,我有以下问题 我创建了一个基于选项卡的应用程序,其中包含三个视图和Viewcontroller。 FirstView(开始屏幕内容)、SecondView(详细信息页)、ThirdView(列出项目的表格)。 (来自情节提要的连接已自动设置) 在第三个视图中,集成了一个表,内容显示良好 现在,当选择表中的一行时,我想调用SecondView 我还尝试在tabBar控制器之外添加一个forth视图,以获取Detailview,但这也没有帮助 我已经尝试了一些教程和论坛提示,但无法使其正常工作 该类
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"];
[self.navigationController pushViewController:detail animated:YES];
detail.label1.text = @"It is working";
}
单击该行时,该行变为蓝色,但什么也没有发生。没有错误消息,什么也没有
希望您能帮忙:-)
好的,我试着“优化”我的设计 仍然具有基于选项卡的视图,但当单击表中的某一行时,应显示一个新的(在序列图像板中未链接)视图,以显示所选报价的详细信息
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
DetailViewController *detailVC = [self.storyboard instantiateViewControllerWithIdentifier:@"detailzitat"];
[self.navigationController pushViewController:detailVC animated:YES];
}
我的DetailViewController.m看起来像
#import "DetailViewController.h"
@implementation DetailViewController
@synthesize label1, labeltext;
- (void)viewDidLoad
{
[super viewDidLoad];
labeltext=@"JUHU";
label1.text=labeltext;
}
但同样,什么也没发生,除了争吵变得很激烈
我不明白。如果我在一个非故事板项目中使用这段代码,它是有效的。
我做错了什么?在故事板中有关于这种组合的教程吗?尚未找到适合此方法的方法。
尝试从网络上的不同教程中学习,但最大的问题是,大多数教程不适用于iOS5,我也不太适合转学
希望得到一些提示:-)我想问题出在self.navigationController上。如果视图不在导航控制器内,则此操作将不起作用。因此,您要做的是在那里创建一个新的导航控制器对象,然后使用它来显示您的详细视图。您可能需要考虑一下您的设计。如果我正确理解了您的描述,用户将在第三个选项卡上,点击表格中的一行,然后您将把它们切换回第二个选项卡。在那里,导航控制器可能是一个更自然、更少混乱的选择 但在任何情况下,这样的事情有时都会起作用:
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
DetailViewController *detailVC = [self.tabBarController.viewControllers objectAtIndex:1];
detailVC.label1.text = @"It is working"; // <- this will not work consistently!
self.tabBarController.selectedViewController = detailVC;
}
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(nsindepath*)indepath{
DetailViewController*detailVC=[self.tabBarController.viewControllers对象索引:1];
detailVC.label1.text=@“它正在工作”;//首先“谢谢”:-)你让我很开心。好吧,问题是,尝试映射不同的教程,把它们放在一起,我想;-)但是,我只是想弄清楚事情是如何工作的。我的应用程序“方法”如下。有一个应用程序可以引用。在“第二视图”中您可以获得随机引号,并且视图的格式为显示引号。在“第三视图”中,您将有一个包含所有引号的表。如果您单击一行,“详细视图/第二视图”当然,你可以接受一个更好的解决方案而不是两次浏览同一个视图吗?当然欢迎。你可以考虑一个UnavigigCube控件,它的细节视图是它的根和按钮,它在推导出完整的引号列表的细节视图中,或者可能是一个翻转的“实用程序”。-风格展示。甚至只是以模式展示列表。只是为了让用户了解正在发生的事情。我想我个人会对跳跃标签感到困惑。无论如何,只有我的$0.02,因为这可能不是提供设计建议的最佳场所。:)