iphone之按下按钮时如何关闭 UISplitViewController

JustinYoung 阅读:160 2025-05-04 20:05:19 评论:0

在我的 iPad 应用程序中。我正在处理 UISplitViewController .在 DetailViewControllerUISplitViewController有按钮。当按下该按钮时,它会导航到另一个 View Controller 。在另一个 View Controller 中,我不需要 UISplitViewController .如何解雇UISplitViewController .我已经尝试了很多并用谷歌搜索,但我没有找到任何解决方案。它正在消磨我的时间,所以如果有人对此进行了研究,请指导我并发布示例代码。

我正在使用此代码

-(void)imgButtonpressed:(id)sender 
{ 
    MenuItemsListViewController *menuview=[[MenuItemsListViewController alloc]initWithNibName:@"MenuItemsListViewController" bundle:nil]; 
 
    menuview.modelArray = imagesArray; 
    menuview.image = [sender tag]*2; 
    [self.navigationController pushViewController:menuview animated:YES]; 
 
} 

请您参考如下方法:

我在使用 UISplitView 时遇到了同样的问题。事实上,当我终于弄清楚如何将 Split View推送到 Root View Controller 之上时,我现在仍然遇到问题。

所以,我相信有很多新手对这个问题感到沮丧。我试图通过大量阅读来找出解决方案。

这就是我所做的(你可以对任何其他 View 做同样的事情):

这将关闭一个 Split View并推送另一个 Split View:

SplitViewController *split = [[SplitViewController alloc]init]; 
    self.leftController = [[LeftViewController alloc]init]; 
    UINavigationController *leftNav = [[UINavigationController alloc]initWithRootViewController:leftController]; 
    self.rightController = [[RightViewController alloc]init]; 
    UINavigationController *rightNav = [[UINavigationController alloc]initWithRootViewController:rightController]; 
    split.viewControllers = [NSArray arrayWithObjects:leftNav,rightNav, nil]; 
    split.delegate = self.rightController; 
 
    YourAppDelegate *delegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    delegate.window.rootViewController = split; 

第二个选项是:
NSMutableArray *allViewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers]; 
 
    [allViewControllers replaceObjectAtIndex:0 withObject:split]; 
    self.navigationController.viewControllers = allViewControllers; 

希望这对遇到同样问题的其他人有所帮助。

干杯!


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号