objective-c – iOS 8自定义后退按钮
发布时间:2020-12-16 05:52:02 所属栏目:百科 来源:网络整理
导读:我在iOS 7中制作了一个应用程序,当我切换到 Xcode 6.1 iOS 8.1我的自定义后退按钮不再出现,而是只显示以前的视图控制器标题 – 这是默认设置. 我在用: self.navigationItem.backBarButtonItem.title = @"";self.navigationItem.backBarButtonItem.tintColor
我在iOS 7中制作了一个应用程序,当我切换到
Xcode 6.1& iOS 8.1我的自定义后退按钮不再出现,而是只显示以前的视图控制器标题 – 这是默认设置.
我在用: self.navigationItem.backBarButtonItem.title = @""; self.navigationItem.backBarButtonItem.tintColor = [UIColor whiteColor]; 这已不再有效了,我确保设置代表……(分别在.h和.m中) .H <UINavigationControllerDelegate,UINavigationBarDelegate> .M self.navigationController.delegate = self; 我不知道你是否在iOS8中这样做了,我搜索了电路板,似乎只能弄清楚如何隐藏后退按钮.我知道你必须在父VC中设置后退按钮文本,以便覆盖自己我在两个VC中包含相同的代码. 这段代码有效,所以我知道我有能力与导航栏进行通信,所以不像我有问题… self.navigationItem.title = @"New <type>"; 谢谢 解决方法
有时使用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" } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |