我在IB中用几个按钮创建了一个工具栏.我希望能够隐藏/显示其中一个按钮,具体取决于主窗口中的数据状态.
UIBarButtonItem 没有隐藏的属性,我发现到目前为止隐藏它们的任何例子都涉及将导航栏按钮设置为nil,我认为我不想在这里做,因为我可能需要再次显示按钮(不是要提一下,如果我将我的按钮连接到IBOutlet,如果我将其设置为nil我不确定我是如何得到它的.
我想要做的是从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形.
谢谢.
我正在尝试覆盖导航控制器中后退按钮的默认操作.我已经在自定义按钮上提供了一个目标操作.奇怪的是,当通过backbutton属性分配它时,它不会注意它们,它只是弹出当前视图并返回到根:
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle: @"Servers"
style:UIBarButtonItemStylePlain
target:self
action:@selector(home)];
self.navigationItem.backBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)
当我把它通过leftBarButtonItem在navigationItem调用我的动作,但是那么按钮看起来像一个普通的圆而不是一个带箭头的后面一个:
self.navigationItem.leftBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)
在返回根视图之前,如何让它调用我的自定义操作?有没有办法覆盖默认的后退操作,还是有一种方法在离开视图时总是被调用(viewDidUnload不这样做)?
iphone cocoa-touch uinavigationcontroller uibarbuttonitem ios
我正在尝试将"设置"按钮的颜色更改为白色,但无法将其更改.
我试过这两个:
navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor()
navigationItem.backBarButtonItem?.tintColor = UIColor.whiteColor()
Run Code Online (Sandbox Code Playgroud)
但没有变化,它仍然看起来像这样:

如何将该按钮设为白色?
我想以UIBarButtonItems编程方式创建并在按钮之间放置这些固定的空间项.

我有一个UIBarButtonItem在我的UIToolbar标题做了.现在我想用Bold 将字体从默认字体更改为"Trebuchet MS".我怎样才能做到这一点?
我正在寻找创建我自己的自定义按日期排序和按数字排序按钮,我计划将其作为右按钮放置在导航栏中.
我的图像应该有多大来适当填充空间 - UIBarItem文档页面没有列出图像应该是什么大小的任何内容.
我一直在寻找这个解决方案一段时间但没有得到任何解决方案.例如一个解决方案是
self.navigationItem.setRightBarButtonItem(UIBarButtonItem(barButtonSystemItem: .Stop, target: self, action: nil), animated: true)
Run Code Online (Sandbox Code Playgroud)
此代码将添加一个带有"停止"图像的按钮.就像这样,还有其他解决方案"搜索",刷新"等等.但是,如果我想以编程方式添加按钮,我想要的图像呢?
我有一个视图控制器,它是一个表的详细视图.当您单击表格的行时,它将转到详细视图.详细视图嵌入在导航控制器中,导航栏的左上角有一个按钮,可将您发送回表格.到现在为止还挺好.
我现在想在导航栏的右侧添加一个编辑按钮,以便您可以编辑详细视图.我的计划是这将以模态方式添加另一个视图控制器,以便您编辑项目的详细信息.标准的东西.
但是,当我尝试将条形按钮项目从对象列表拖动到导航栏时,它将不会采取.相反,当我松开鼠标按钮时,它会在底部的标签栏控制器上留下条形按钮.(我的导航方案包括不同的选项卡,每个选项卡包含一个表格,详细视图等)
之前有人遇到过这个问题并且可以建议我做错了什么或某种解决方法将栏按钮项添加到导航屏幕的右侧.我必须在代码中添加它吗?
谢谢你的任何建议.
我正在尝试在工具栏中添加标签.按钮效果很好,但是当我添加标签对象时,它会崩溃.有任何想法吗?
UIBarButtonItem *setDateRangeButton = [[UIBarButtonItem alloc] initWithTitle:@"Set date range"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(setDateRangeClicked:)];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 20, 20)];
label.text = @"test";
[toolbar setItems:[NSArray arrayWithObjects:setDateRangeButton,label, nil]];
// Add the toolbar as a subview to the navigation controller.
[self.navigationController.view addSubview:toolbar];
// Reload the table view
[self.tableView reloadData];
Run Code Online (Sandbox Code Playgroud) ios ×10
uibarbuttonitem ×10
iphone ×3
cocoa-touch ×2
swift ×2
xcode ×2
navigation ×1
uibaritem ×1
uikit ×1
uitoolbar ×1