Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何从情节提要中的表视图调用细节视图_Iphone - Fatal编程技术网

Iphone 如何从情节提要中的表视图调用细节视图

Iphone 如何从情节提要中的表视图调用细节视图,iphone,Iphone,我有以下问题 我创建了一个基于选项卡的应用程序,其中包含三个视图和Viewcontroller。 FirstView(开始屏幕内容)、SecondView(详细信息页)、ThirdView(列出项目的表格)。 (来自情节提要的连接已自动设置) 在第三个视图中,集成了一个表,内容显示良好 现在,当选择表中的一行时,我想调用SecondView 我还尝试在tabBar控制器之外添加一个forth视图,以获取Detailview,但这也没有帮助 我已经尝试了一些教程和论坛提示,但无法使其正常工作 该类

我有以下问题

我创建了一个基于选项卡的应用程序,其中包含三个视图和Viewcontroller。 FirstView(开始屏幕内容)、SecondView(详细信息页)、ThirdView(列出项目的表格)。 (来自情节提要的连接已自动设置)

在第三个视图中,集成了一个表,内容显示良好

现在,当选择表中的一行时,我想调用SecondView

我还尝试在tabBar控制器之外添加一个forth视图,以获取Detailview,但这也没有帮助

我已经尝试了一些教程和论坛提示,但无法使其正常工作

该类设置为右ViewController,标识符设置为detail

-(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";
}

单击该行时,该行变为蓝色,但什么也没有发生。没有错误消息,什么也没有

希望您能帮忙:-)


好的,我试着“优化”我的设计

仍然具有基于选项卡的视图,但当单击表中的某一行时,应显示一个新的(在序列图像板中未链接)视图,以显示所选报价的详细信息

  • 我在故事板中创建了一个视图,并将其命名为“detailzitat”
  • 我已经创建了一个DetailViewController.h/m作为UIViewcontroller类
  • 我已将自定义类设置为DetailViewController
  • 我将DetailViewController.h导入第三个ViewController.h中
  • 我相应地修改了ThirdViewController.h中的didSelectRowAtIndexPath方法

     -(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,因为这可能不是提供设计建议的最佳场所。:)