按下视图控制器后删除“返回”按钮
Posted
技术标签:
【中文标题】按下视图控制器后删除“返回”按钮【英文标题】:Remove "Back" button after pushing view controller 【发布时间】:2016-01-26 16:56:12 【问题描述】:我有一个登录屏幕作为我的根视图控制器。如果用户已经登录,我想跳过登录屏幕并显示主视图控制器。
下面的代码可以做到这一点,但它在导航栏中显示了一个后退按钮,而不是默认的导航栏。
有没有办法去掉后退按钮?应该有一个菜单按钮,所以仅仅隐藏后退按钮是不够的。
谢谢!
- (void)viewDidLoad
if(GetUserName != nil)
[self pushingView:YES];
[super viewDidLoad];
-(void)pushingView:(BOOL)animation
MainViewController *revealViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"RevealViewController"];
[self.navigationController pushViewController:revealViewController animated:animation];
【问题讨论】:
【参考方案1】:不要试图移除后退按钮,而是移除对后退按钮的需要。而不是使用pushViewController:animated:
使用setViewControllers:animated:
。这样一来,堆栈上只有一个视图控制器(并且您节省了保持视图控制器存在的内存)。
理想情况下,您甚至不会加载登录视图控制器,这样您就可以节省更多的内存和时间。
【讨论】:
如果我需要检查验证,如何避免加载登录视图? 在哪里创建/推送登录视图控制器,您将执行与GetUserName
相同的逻辑检查来决定是否需要。创建一个视图控制器只是为了进行检查是一种昂贵的浪费。您可能需要根据您的 VC 结构向应用程序委托添加逻辑以上是关于按下视图控制器后删除“返回”按钮的主要内容,如果未能解决你的问题,请参考以下文章