使用主/详细应用程序更改默认视图

Posted

技术标签:

【中文标题】使用主/详细应用程序更改默认视图【英文标题】:changing default view with master/detail application 【发布时间】:2013-02-06 03:15:13 【问题描述】:

你能帮我解决这个问题吗?我正在创建一个应用程序并且我正在使用一个主/详细信息应用程序,然后我添加了一个名为 MenuViewController 的新类,我希望它成为我的应用程序启动时加载的初始视图。我能够做到,但我的 MasterViewController 不再工作,每次我单击表视图中的一个项目时,它都会显示另一个名为 DetailViewController 的视图,但自从我更改了默认视图后,它不再显示 DetailViewController

这是我完成的一段代码

在 appdelegate.m 中

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
     
        self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
        MenuViewController *menuView = [[[MenuViewController alloc]initWithNibName:@"MenuViewController" bundle:nil]autorelease];

        MasterViewController *masterViewController = [[[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil] autorelease];
        self.navigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease];
        self.window.rootViewController = menuView;
        [self.window makeKeyAndVisible];
        return YES;

     

在我的 MenuViewController.m 中

//  Created by Jan Arman Capistrano on 2/6/13.
//  Copyright (c) 2013 Jan Arman Capistrano. All rights reserved.
//

#import "MenuViewController.h"
#import "MasterViewController.h"
@interface MenuViewController ()

@end

@implementation MenuViewController

-(IBAction)nextView:(id)sender

    MasterViewController *masterViewc = [[MasterViewController alloc]initWithNibName:nil bundle:nil];

    [self presentViewController:masterViewc animated:YES completion:nil];


【问题讨论】:

【参考方案1】:

您的MasterViewController 似乎是从 XIB 实例化的。如果是这样,请检查 UITableView 是否具有其委托和数据源绑定(可能是 MasterViewController 本身)

您是否尝试在您的 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 方法中设置断点,以查看它是否实际被调用?

【讨论】:

是的,它在 xib 上有它的委托和数据源,我该怎么办? 那么这可能是因为didSelectRow 中的代码暗示应该有一个包含navigationController 你压制... 我的 didselectrow 中有这些,

以上是关于使用主/详细应用程序更改默认视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在“详细”实体视图中为“主/父”实体“保存”(核心数据)?

使用带有自定义按钮的主详细信息应用程序的 segue。

如何在主详细信息应用程序中使详细信息视图可滚动

标题未显示在主详细信息页面菜单中

UISplitViewController - 从详细信息更新主表视图

主细节应用程序初始视图控制器更改