我有一个UINavigationBar
我手动拖动并添加到我的故事板中的ViewController。在那个NavigationBar中,我拖动并添加了一个" UIBarButtonItem"被设为默认"添加"图像。
视图是以模态方式推送的,因此它没有自动推送的NavigationBar。
navBar和BarButton都连接到我的viewcontroller和故事板,如此
@property (strong, nonatomic) IBOutlet UINavigationBar *RibbonDetailNavBar;
@property (strong, nonatomic) IBOutlet UIBarButtonItem *addRemoveButton;
我尝试将按钮图像更改为另一个默认设置,即viewDidLoad
中的垃圾箱图标,如此
if (alreadyAdded)
{
[self.navigationItem.rightBarButtonItem setStyle:UIBarButtonSystemItemTrash];
}
哪个没效果。
我也试过这个:
if (alreadyAdded)
{
_addRemoveButton = nil;
}
哪个也没效果
还有这个:
if (alreadyAdded)
{
_addRemoveButton = [[UIBarButtonItem alloc]initWithImage:nil style:UIBarButtonSystemItemTrash target:nil action:nil];
}
也没有效果。
如何将此按钮设置为垃圾桶图标?
答案 0 :(得分:1)
UIBarButtonSystemItemTrash
属性无法检索 style
。 style的类型为UIBarButtonItemStyle,可以是UIBarButtonItemStylePlain
,UIBarButtonItemStyleBordered
使用此代码
@property (strong, nonatomic) IBOutlet UINavigationBar *RibbonDetailNavBar;
// No need to create rightBarButtonItem IBOutlet.
if (alreadyAdded)
{
self.RibbonDetailNavBar.topItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemTrash target: nil action: nil];
}
else {
self.RibbonDetailNavBar.topItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemAdd target: nil action: nil];
}
希望它对你有所帮助。快乐的编码! :)