在USPLITVIEW IOS 5.1中加载和隐藏主视图
-
13-12-2019 - |
题
我从很长一段时间内谷歌曲,但没有得到解决方案,在iOS 5.1主视图上右侧滑动,左上滑动。
我想要加载主视图按钮单击详细视图,如何?
下面的代码是为我工作的,主视图隐藏,但主视图的黑屏尺寸仍然是主视图。
- (void)hideMaster:(BOOL)hide {
AppDelegate *appDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate];
UISplitViewController* spv = appDelegate.splitViewController;
spv.delegate=self;
self.hiddenMaster= hide;
[spv willRotateToInterfaceOrientation:self.interfaceOrientation duration:0];
[spv.view setNeedsLayout];
}
- (BOOL)splitViewController:(UISplitViewController*)svc shouldHideViewController: (UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {
NSLog(@"Spv: I do %@show the master", (self.hiddenMaster?@"not ":@""));
return self.hiddenMaster;
}
.
提前感谢
解决方案
标准方式,正如我理解它,这样做是:
-
在您的应用程序中,您需要将一个初始视图控制器设置为UISplitViewControllerDelegate。如果您不这样做,如果您以纵向启动应用程序将无法获得第一个按钮。例如:
UINavigationController *masterNavigationController = [self.splitViewController.viewControllers objectAtIndex:0]; MyMasterVC *master = [self.masterNavigationController.viewControllers objectAtIndex:0]; self.splitViewController.delegate = master;
-
在mymastervc.h中,通过修改界面,将自己声明为
<UISplitViewControllerDelegate>
,例如:@interface MyMasterVC : UIViewController <UISplitViewControllerDelegate>
-
在myMasterVC.M中,您需要实现UISplitViewControllerDelegate的各种方法,这些方法是在Apple文档中描述的
隐藏和显示视图控制器的方法为您提供了一个UIBARButtonItem,然后您必须添加到您的详细视图控制器(例如,UIToolbar或UinavigationBar)中添加或带走。
如果您在处理此问题的情况下有问题,它在斯坦福大学的优秀保罗赫阁(2010年秋季2011年秋季 - 不记得)中,它在伊努格特的讲座中很好。你应该看看。 iOS5.1已更改了MasterVC在课程中的严格“Popover”方式中呈现的方式,但我认为所描述的方法仍然有效。它在课程中很早,也可能是5或6或7或类似的讲座。我认为它被称为拆分视图,或iPad拆分视图或类似。
编辑: 这是第7讲,它被称为:“uitoolbar和ipad apps”