0

我使用下面的代码来自定义导航栏上的右栏按钮:

UIBarButtonItem *bb = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"btn_daohangrightbar_1"] style:UIBarButtonItemStylePlain target:self action:@selector(clickRightBtnEvent:)];
[self.navigationItem setRightBarButtonItem:bb];

但我得到的结果如下:

在此处输入图像描述

似乎自定义 barButton 和系统的默认按钮都会显示。仅供参考,在添加自定义按钮之前未显示任何按钮。如何使默认按钮消失并仅显示我的自定义按钮?

4

2 回答 2

2

您可以尝试使用提供的图像创建自定义按钮,并使用 customview 初始化条形按钮并将该按钮提供为自定义视图。

UIImage *image = [UIImage imageNamed:@"myImage"];
CGRect imageFrame = CGRectMake(0,0,image.size.width,image.size.height);

UIButton *btn = [[UIButton alloc] initWithFrame:imageFrame];
[btn setBackgroundImage:image forState:UIControlStateNormal];
[btn addTarget:self action:@selector(clickRightButtonEvent:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *bb = [[UIBarButtonItem alloc] initWithCustomView:btn];
[[self navigationItem] setRightBarButtonItem:bb];
于 2013-06-27T02:39:45.473 回答
1

initWithCustomView包含您UIBarButtonItem的.UIImageViewUIImage

于 2013-06-27T02:36:58.397 回答