我使用下面的代码在导航栏上自定义右键:
UIBarButtonItem *bb = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"btn_daohangrightbar_1"] style:UIBarButtonItemStylePlain target:self action:@selector(clickRightBtnEvent:)];
[self.navigationItem setRightBarButtonItem:bb];
但我得到的结果如下:
似乎自定义barButton和系统的默认按钮都会显示出来。仅供参考,在我添加自定义按钮之前没有显示任何按钮。如何确保默认按钮消失并仅显示我的自定义按钮?
答案 0 :(得分:2)
您可以尝试使用提供的图片创建自定义按钮,并使用自定义视图初始化条形按钮,并将该按钮作为自定义视图提供。
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];
答案 1 :(得分:1)
使用initWithCustomView
中的UIBarButtonItem
,UIImageView
包含您的UIImage
。