我知道这个问题已被许多用户询问,但我没有找到任何与我的问题有关的答案。隐藏和取消隐藏masterView从按钮的详细信息查看
我使用UISplitViewController
,我的应用程序启动与登录页面,所以我必须隐藏在启动masterView
,后DetailViewController
一段时间我表明,使用委托方法主viewController
。
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation NS_AVAILABLE_IOS(5_0)
{
return hideMaster;
}
我已经初始化hideMaster
到NO
,和我的viewDidLoad(的DetailViewController
)低于
ViewDidLoad(){
[self.splitViewController.view setNeedsLayout];
self.splitViewController.delegate =Nil;
self.splitViewController.delegate = self;
[self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0];
[super viewDidLoad];
}
它工作得很好,现在我的主人是unhide.But在同一detailViewController我上有一个后退按钮我弹出当前ViewController到最后viewController,再次我想隐藏masterViewController我的代码为后退按钮是在下面。
- (IBAction)back:(id)sender {
hideMaster = NO;
self.splitViewController.delegate =Nil;
self.splitViewController.delegate = self;
[self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0];
[self.navigationController popViewControllerAnimated:NO];
}
其坡平的CurrentViewController
持续ViewController
,但它不是隐藏masterViewController
请帮助我。
wali,你是什么意思最后一个单一的ViewController和“我假设隐藏主人作为共享对象(单身人士)的变量”? –
LastSingleViewController是一个ViewController,在此之后,您将在应用程序中显示masterViewController,并且假设您使用hidMaster变量作为共享对象的成员变量意味着一个单例对象,因为如果您将hideMaster的值更改为NO弹出viewController它应该反映在以前的viewController上 –
非常感谢@ wali –