2010-06-21 61 views
2

开始,我正在寻找如何从另一个视图切换到UISplitView。用户将点击一个按钮并打开分割视图。我没有运气。你如何切换到分割视图。如果你不从一个

我从一个普通的视图开始,当用户单击按钮时,我尝试通过移除当前视图并启动分割视图控制器来切换到分割视图。我只是使用一个笔尖来加载它,但拆分视图没有nib文件。

有没有人可以让我最简单的方法来做到这一点。

回答

1

您必须以编程方式创建UISplitViewController。你必须给它一个两个UIViewController对象的数组(这些可以来自nib文件)。然后,当你想加载拆分视图发送消息[窗口addSubView:splitViewController.view]

1

我已经几乎做了这样的事情。

我宣布一个viewDidLoad中在SplitViewController我的视图 - 控制(FrameViewController)的一个

然后我说,我刚才宣布进入AppDelegate中的窗口变量splitViewController。 (我曾经尝试声明另一个的UIWindow变量,并SplitViewController认为它,它会抛出wait_fences:未能收到回复:10004003当u改变方向)

然后,设置您的viewController的观点隐藏,使得SplitViewController会正确显示.. 瞧〜

- (void)viewDidLoad { 
[super viewDidLoad]; 

appDelegate = (iPadProject2AppDelegate *)[[UIApplication sharedApplication] delegate]; 

ContentViewController* secondVC = [[ContentViewController alloc] 
            initWithNibName:@"ContentView" bundle:nil]; 

MenuViewController* firstVC = [[MenuViewController alloc] 
           initWithNibName:@"MenuView" 
           bundle:nil 
           withContentViewController:secondVC]; 

UISplitViewController* splitVC = [[UISplitViewController alloc] init]; 
splitVC.viewControllers = [NSArray arrayWithObjects:firstVC, secondVC, nil]; 

[appDelegate.window addSubview:splitVC.view]; 

[self.view setHidden:YES];} 
1

BTW, 你应该添加这些代码到YIT明代码:

[[self view] removeFromSuperview]; 

或者当您改变方向时,分割视图将不起作用。