更改手动添加的 UINavigationBar 的右侧 BarButtonItem?
Change the right BarButtonItem of a manually added UINavigationBar?
我有一个 UINavigationBar
,我已将其手动拖动并添加到情节提要中的 ViewController。在该 NavigationBar 中,我拖动并添加了一个 "UIBarButtonItem" 样式作为默认 "Add" 图像。
视图是模态推送的,因此它没有自动推送的 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];
}
这也没有效果。
如何将此按钮设置为垃圾桶图标?
UIBarButtonSystemItemTrash
无法通过 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];
}
希望对你有帮助。编码愉快! :)
我有一个 UINavigationBar
,我已将其手动拖动并添加到情节提要中的 ViewController。在该 NavigationBar 中,我拖动并添加了一个 "UIBarButtonItem" 样式作为默认 "Add" 图像。
视图是模态推送的,因此它没有自动推送的 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];
}
这也没有效果。
如何将此按钮设置为垃圾桶图标?
UIBarButtonSystemItemTrash
无法通过 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];
}
希望对你有帮助。编码愉快! :)