代码之家  ›  专栏  ›  技术社区  ›  element119

从UITableView问题推送视图

  •  0
  • element119  · 技术社区  · 16 年前

    基本上,我想要的是能够在一个表中按一个记录,然后让它按到另一个视图。

    为此,我创建了一个NIB文件和一个uiviewController子类(对于“pushed”视图)。我将NIB文件的“文件所有者”设置为我创建的控制器。 edit :i also then set the“view”field of the controller to be the view.然后,在将推送该视图的表的视图控制器中,我将didselectrowindexatpath:方法设置为包括以下内容:

    searchTableController*vc=[[searchTableController alloc]initWithNibName:@“searchTable”bundle:[nsbundle mainbundle];
    [self.navigationcontroller pushviewcontroller:vc animated:yes];
    [VC release];

    (其中“searchTableController”是uiviewController子类的名称,“searchTable”是NIB文件的名称)

    但是,当我运行这段代码并点击记录时,什么都不会发生——应用程序不会崩溃,但视图不会被推送。代码正在运行,因为它在i nslog()时工作,但它似乎没有在推动视图。

    感谢您提前提供任何帮助。 编辑 :然后我还将控制器的“视图”字段设置为视图。然后,在将推送该视图的表的视图控制器中,我将didselectrowindexatpath:方法设置为包括以下内容:

    searchTableController*vc=[[searchTableController alloc]initWithNibName:@“searchTable”bundle:[nsbundle mainbundle]];
    [self.navigationcontroller pushviewcontroller:vc动画:是];
    [ VC释放];

    (其中“searchTableController”是uiviewController子类的名称,“searchTable”是NIB文件的名称)

    但是,当我运行这段代码并点击记录时,什么都不会发生——应用程序不会崩溃,但视图不会被推送。代码正在运行,因为它在i nslog()时工作,但它似乎没有推动视图。

    感谢您的帮助。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Community Mohan Dere    9 年前

    您真的很接近,但是您是否将NIB文件中的视图绑定到视图控制器的视图字段?

    编辑:所以视图是连接的,您的代码看起来很好。我刚抽出一段我自己的代码:

    >

    >/显示主题设置
    ThemeController*主题=[[ThemeController alloc]
    initWithStyle:uiTableViewStyleGrouped]autorelease];
    [[self navigationcontroller]pushviewcontroller:theme animated:yes];
    

    是否检查了self.navigationcontrolleris non nil?

    在这一点上我会尝试以下几点:

    • 只需硬编码视图作为根视图,验证它是否工作
    • 在viewWillLoad、viewDidLoad和viewWill中放置两个nslog,它们将出现在客户机视图控制器中。

    祝您好运。

    alt text

    编辑:所以视图是连接的,您的代码看起来很好。我刚抽出一段我自己的代码:

    // show theme settings
    ThemeController * theme = [[[ThemeController alloc] 
                                initWithStyle:UITableViewStyleGrouped] autorelease];
    [[self navigationController] pushViewController:theme animated:YES];
    

    你检查过如果self.navigationController非零吗?

    在这一点上我会尝试以下几点:

    • 只需硬编码视图作为根视图,验证它是否工作
    • 在viewWillLoad、viewDidLoad和viewWill中放置两个nslog,它们将出现在客户机视图控制器中。

    祝你好运。