【问题标题】:Master Detail Scene, Detail scene wont load properly主细节场景,细节场景无法正确加载
【发布时间】:2013-05-06 21:12:46
【问题描述】:

我正在关注这个 ios 教程: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/SecondiOSAppTutorial/CustomizingDetailView/CustomizingDetailView.html#//apple_ref/doc/uid/TP40011318-CH5-SW3

我正在创建一个主场景和一个细节场景。它们都按照教程中的说明完成。

现在的问题是当我进入细节场景时,细节场景的布局没有加载。而是加载一个没有任何内容的主场景布局。

据我所知,问题与将数据从主场景传输到细节场景有关。

本教程不包含此方法:

  • (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

没有它,应用程序无法从主场景转到细节场景。我认为 segue 方法是假设传输数据并使其进入细节场景,但由于某种原因它没有。所以这个方法被编辑为

{

    BirdSighting *sightingAtIndex = [self.dataController objectInListAtIndex:indexPath.row];

    BirdsDetailViewController *bd= [[BirdsDetailViewController alloc] init];

    bd.sighting = sightingAtIndex;

    [self.navigationController pushViewController:bd animated:YES];

}

现在应用程序可以从主场景切换到细节场景,但细节场景看起来像一个主场景,上面什么都没有。

非常感谢有关此或场景之间传输数据的任何帮助。提前谢谢你。

【问题讨论】:

    标签: objective-c uitableview segue master-detail


    【解决方案1】:

    重点是表格视图选择方法不需要实现,因为选择会自动触发segue。如果您详细按照指南进行操作,最后您将配置 segue 和 segue 触发器的处理,以在新的详细视图出现在屏幕上之前对其进行配置。

    【讨论】:

      【解决方案2】:

      问题似乎归结为 prepareForSegue 没有被调用,只是使用 didselectrowatindexpath 没有正确传输数据。

      所以你可以通过查看这里的答案来解决它: Custom UITableViewCell not calling prepareForSegue

      好像当用户触摸一个单元格时,didSelectRowAtIndex 被调用,但 prepareForSegue 没有。所以你需要手动调用 performSegue 来让 prepareForSegue 工作吗?这是我的解释。

      【讨论】:

        猜你喜欢
        • 2011-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-22
        • 2022-06-16
        • 1970-01-01
        相关资源
        最近更新 更多