我想要做的是从a的"后退"按钮中删除文本UIBarButtonItem,只在导航栏上留下蓝色V形符号.请记住,我正在为iOS 7开发.我尝试了几种方法,包括但不限于:
这是我不喜欢的图像方法(图像看起来不合适):
UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"iOS7BackButton"] style:UIBarButtonItemStylePlain target:self action:@selector(goToPrevious:)];
self.navigationItem.leftBarButtonItem = barBtnItem;
Run Code Online (Sandbox Code Playgroud)
我试过的另一种方法是这个,它根本不起作用(没有显示):
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc]init];
barBtn.title=@"";
self.navigationItem.leftBarButtonItem=barBtn;
Run Code Online (Sandbox Code Playgroud)
我想要实现的是像iOS 7音乐应用程序中的后退按钮,它只有一个单一的V形.
谢谢.
你知道如何隐藏UINavigationController中的"后退"按钮吗?另外,如何展示它,但我猜这与隐藏它非常相似......
就像邮件应用程序在查看电子邮件时点击"编辑"一样在iPhone上执行.
在 iOS 14+ 中,点击并按住backBarButtonItemUINavigationItem 的 将显示完整的导航堆栈。然后用户可以弹出堆栈中的任何点,而以前用户只能点击该项目以弹出堆栈中的一个项目。
是否可以禁用此功能?UIBarButtonItem 有一个名为 的新属性menu,但尽管按住按钮时显示菜单,但它似乎为零。这让我相信这可能是无法改变的特殊行为,但也许我忽略了一些东西。
我们开始使用Xcode 8.3处理我们的项目,直到iOS 10都很好但是当我们在iOS 11中运行相同的应用程序时,后退按钮没有按预期对齐,如下图所示
但是对于iOS 10,它已经正确对齐
这就是我们得到的布局约束错误
(
"<NSLayoutConstraint:0x600000288200 _UIModernBarButton:0x7f7ef5c87f10.bottom == UILayoutGuide:0x6000005a0380'UIViewLayoutMarginsGuide'.bottom + 64.5 (active)>",
"<NSLayoutConstraint:0x600000287f30 V:[_UIModernBarButton:0x7f7ef5c87f10]-(>=0)-| (active, names: '|':_UIButtonBarButton:0x7f7ef5c86e60 )>",
"<NSLayoutConstraint:0x600000282030 'UIView-bottomMargin-guide-constraint' V:[UILayoutGuide:0x6000005a0380'UIViewLayoutMarginsGuide']-(16)-| (active, names: '|':_UIButtonBarButton:0x7f7ef5c86e60 )>"
Run Code Online (Sandbox Code Playgroud)
)
我是IOS开发人员.我正在使用导航控制器.如果我按下到下一页,则返回按钮标题始终显示"返回".我尝试了所有这个方法来删除viewWillAppear中的标题,viewDidload如下所示.但这对我不起作用.
[[UIBarButtonItem alloc] initWithTitle:@""
style:UIBarButtonItemStylePlain
target:nil action:nil];
Run Code Online (Sandbox Code Playgroud)
要么
[self.navigationItem.backBarButtonItem setTitle:@""];
Run Code Online (Sandbox Code Playgroud)
要么
self.navigationItem.title=@"";
Run Code Online (Sandbox Code Playgroud)
要么
self.navigationController.navigationBar.backItem.title =@"";
Run Code Online (Sandbox Code Playgroud)
提前致谢.