ios隐藏左侧导航按钮的文本

Posted

技术标签:

【中文标题】ios隐藏左侧导航按钮的文本【英文标题】:ios hide text of left navigation button 【发布时间】:2015-04-15 06:37:20 【问题描述】:

我只需要显示箭头按钮并隐藏左侧导航按钮的文本。根据这个link,我可以这样做。但如果我这样做,滑动返回功能将被破坏。

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

所以,我用这样来隐藏文本。

self.navigationController.navigationBar.topItem.title = @"";

到目前为止,一切正常。但是,如果我以前的视图的 searchDisplayController 处于活动状态并推送到新视图,它会显示左侧导航按钮文本。我可以知道怎么做吗?

【问题讨论】:

【参考方案1】:

将此行复制并粘贴到每个视图控制器中:

self.navigationController.navigationItem.leftBarButtonItem.title = " "

或者您可以使用以下步骤在 storyboard/xib 文件中实现此目的:-

    导航项从对象库拖放到您的 ViewController 上。然后选择 ViewController。 在左侧菜单中选择导航项(它将带有后退箭头和标题作为文本:“ 选择右侧的 Attribute Inspector 并将文本:Title 替换为 空格

对所有视图控制器重复这些步骤。 希望对您有所帮助。

【讨论】:

【参考方案2】:

您必须为您的要求添加一个解决方案custom button,如下所示:

//create image instance add here back image
UIImage *imgBack = [UIImage imageNamed:@"image name here"];

//create UIButton instance for UIBarButtonItem
UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
[btnBack setImage:imgBack forState:UIControlStateNormal];
btnBack.frame = CGRectMake(0, 0, imgBack.size.width,imgBack.size.height);
[btnBack addTarget:self action:@selector(btnBackAction:) forControlEvents:UIControlEventTouchUpInside];

//create UIBarButtonItem instance
UIBarButtonItem *barBtnBackItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack];
//set in UINavigationItem
self.navigationItem.leftBarButtonItem = barBtnBackItem;

下面给出的按钮方法:

-(void)btnBackAction:(id)sender

   [self.navigationController popViewControllerAnimated:YES];

编辑 : 对于slide swipe 添加viewDidLoad 方法

//for enabling swipe gesture
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) 
    self.navigationController.interactivePopGestureRecognizer.enabled = YES;

【讨论】:

我不能这样做,因为它破坏了滑动/滑动返回功能(在 ios 7 中引入)。【参考方案3】:

@Atif 的 答案是正确的。我只想补充一点,而不是复制和粘贴所有文件中的代码,而是创建一个自定义 UINavigationController 并实现 @Atif 提到的所需代码。(我由于评分低,无法发表评论。)

【讨论】:

以上是关于ios隐藏左侧导航按钮的文本的主要内容,如果未能解决你的问题,请参考以下文章

导航栏隐藏标题和后退按钮 iOS 7

在 iOS 11.4 上隐藏导航返回按钮

iOS 隐藏/去掉 导航栏返回按钮中的文字

iOS:隐藏后退按钮时如何使导航标题左对齐

UIDocumentPicker 导航栏按钮在 iOS 11 中隐藏

iOS 隐藏导航栏返回按钮文字