Ios UIbarButton图像不显示?

Ios UIbarButton图像不显示?,ios,objective-c,uibarbuttonitem,Ios,Objective C,Uibarbuttonitem,我已经创建了三个UIBarButton项,并将它们添加到UINavigation控制器中 如果我使用以下代码设置按钮的图像,则按钮可以正常工作并显示: [saveSearchButton setImage:[UIImage imageNamed:@"Save Search"]]; 然后我想让它在点击按钮时,它的图像变成“选定图像” 我是这样做的: [butt setBackgroundImage:[UIImage imageNamed:@"myImage"] forState:UIContro

我已经创建了三个UIBarButton项,并将它们添加到UINavigation控制器中

如果我使用以下代码设置按钮的图像,则按钮可以正常工作并显示:

[saveSearchButton setImage:[UIImage imageNamed:@"Save Search"]];
然后我想让它在点击按钮时,它的图像变成“选定图像”

我是这样做的:

[butt setBackgroundImage:[UIImage imageNamed:@"myImage"] forState:UIControlStateSelected style:UIBarButtonItemStylePlain barMetrics:UIBarMetricsDefault];
但是,当我点击按钮时,它的图像没有改变(尽管调用了它的action方法)

我尝试将其图像设置为正常状态,如下所示:

[buttonOne setBackgroundImage:[UIImage imageNamed:@"myImage"] forState:UIControlStateNormal style:UIBarButtonItemStylePlain barMetrics:UIBarMetricsDefault];
当我使用上述代码时,按钮不再可见。如何更改按钮的选定图像

下面是我如何将按钮添加到UINavigationBar的完整代码

创建它们

UIBarButtonItem *buttonOne = [[UIBarButtonItem alloc]initWithTitle:nil style:UIBarButtonItemStylePlain target:self action:@selector(buttonOnePressed)];
    UIBarButtonItem *buttonTwo = [[UIBarButtonItem alloc]initWithTitle:nil style:UIBarButtonItemStylePlain target:self action:@selector(buttonTwoPressed)];
    UIBarButtonItem *buttonThree = [[UIBarButtonItem alloc]initWithTitle:nil style:UIBarButtonItemStylePlain target:self action:@selector(buttonThreePressed)];
添加到数组中

NSArray *barButtonItems = @[buttonOne,buttonTwo,buttonThree,];
添加到导航项

self.navigationItem.rightBarButtonItems = barButtonItems;

请尝试以下代码:

UIButton *button = [[UIButton alloc] init];

[button setImage:[UIImage imageNamed:@"myImage.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonOnePressed:)
    forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *barButton = [[UIBarButtonItem alloc]
                           initWithCustomView:button];

self.navigationItem.rightBarButtonItem = barButton;