【发布时间】:2017-11-25 22:12:36
【问题描述】:
我创建了三个 UIBarButton 项并将它们添加到 UINavigation 控制器。
如果我使用以下代码设置它们的图像,按钮可以正常工作并显示:
[saveSearchButton setImage:[UIImage imageNamed:@"Save Search"]];
然后我想这样做,以便在点击按钮时 - 它的图像更改为“选定图像”
我是这样做的:
[butt setBackgroundImage:[UIImage imageNamed:@"myImage"] forState:UIControlStateSelected style:UIBarButtonItemStylePlain barMetrics:UIBarMetricsDefault];
但是,当我点击按钮时,它的图像并没有改变(虽然,它的动作方法被调用)
我尝试将其图像设置为正常状态,如下所示:
[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;
【问题讨论】:
标签: ios objective-c uibarbuttonitem