首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 8: UINavigationController隐藏回按钮

iOS 8: UINavigationController隐藏回按钮
EN

Stack Overflow用户
提问于 2014-09-23 11:42:49
回答 11查看 39K关注 0票数 18

在iOS 8 (XCode 6.0.1,iPhone 6)中运行应用程序后,后退按钮不会隐藏。

我的代码:

代码语言:javascript
复制
- (void)removeCategoriesButton
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        [_navigationController.topViewController.navigationItem setHidesBackButton:YES];
        [_navigationController.topViewController.navigationItem setLeftBarButtonItem:nil];
    } else {
        UIViewController *controller = _app.window.rootViewController;

        if ([controller isKindOfClass:[UINavigationController class]]) {
            UINavigationController *nav = (UINavigationController *)controller;
            [nav.topViewController.navigationItem setHidesBackButton:YES];
            [nav.topViewController.navigationItem setLeftBarButtonItem:nil];
        }
    }
}

但是后退按钮没有隐藏(请参阅屏幕截图):

UPD:

我在另一个模拟器中运行应用程序,只在iOS 8上看到这个"bug“。

EN

回答 11

Stack Overflow用户

发布于 2014-10-14 04:05:11

这对我有用。

代码语言:javascript
复制
-(void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    [self.navigationItem setHidesBackButton:YES];
    [self.navigationItem setTitle:@"Home"];
}
票数 45
EN

Stack Overflow用户

发布于 2015-05-26 01:55:46

我尝试了很多答案,但唯一对我有用的是:

代码语言:javascript
复制
    override func viewDidLoad() {
    super.viewDidLoad()

    let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil)
    navigationItem.leftBarButtonItem = backButton
}
票数 15
EN

Stack Overflow用户

发布于 2014-09-23 12:46:03

调用您的ViewDidLoad的方法如下:

目标-C:

代码语言:javascript
复制
self.navigationItem.leftBarButtonItem = nil;

代码语言:javascript
复制
self.navigationItem.hidesBackButton = YES;

斯威夫特

代码语言:javascript
复制
navigationItem.hidesBackButton = true
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25994219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档