使用主/详细应用程序更改默认视图
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 中有这些,以上是关于使用主/详细应用程序更改默认视图的主要内容,如果未能解决你的问题,请参考以下文章
如何在“详细”实体视图中为“主/父”实体“保存”(核心数据)?