热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOS8自定义后退按钮

如何解决《iOS8自定义后退按钮》经验,为你挑选了1个好方法。

我在iOS 7中制作了一个应用程序,当我切换到Xcode 6.1和iOS 8.1时,我的自定义后退按钮不再出现,而是只显示以前的视图控制器标题 - 这是默认设置.

我在用:

self.navigationItem.backBarButtonItem.title = @"";
self.navigationItem.backBarButtonItem.tintColor = [UIColor whiteColor];

这已经不再有效了,我确保设置代表...(分别在.h和.m中)

.H


.M

 self.navigationController.delegate = self;

我不知道你是否在iOS8中这样做了,我搜索了电路板,似乎只能弄清楚如何隐藏后退按钮.我知道你必须在父VC中设置后退按钮文本,以便覆盖自己我在两个VC中包含相同的代码.

这段代码有效,所以我知道我有能力与导航栏进行通信,所以不像我有问题...

self.navigationItem.title = @"New ";

谢谢



1> Alex..:

有时使用barButtonItems你需要创建新的,而不是修改旧的.我尝试了你的代码,它也不适用于我.这很有效

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    UIBarButtonItem *item = [[UIBarButtonItem alloc] init];
    item.title = @"Title";
    self.navigationItem.backBarButtOnItem= item;
}

编辑

此代码需要位于以前的视图控制器中,而不是具有后退按钮的视图控制器.防爆.如果viewController是一个segue到viewController B并且你希望视图控制器B上的后退按钮说"Backy"而不是viewController A的标题,那么你实际上把这个代码放在viewController A中,而不是viewController B

编辑2

要动态更改视图控制器的后退按钮标题,请在推送viewController之前替换backBtn,并为其指定相应的标题.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let barBtnItem = UIBarButtonItem()
    navigationItem.backBarButtOnItem= barBtnItem
    if segue.identifier == "seg1" {
        barBtnItem.title = "Hello 1"
    } else if segue.identifier == "seg2" {
        barBtnItem.title = "Hello 2"
    }
}


推荐阅读
author-avatar
哲玲旭辉9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有