如何使用UIBarButtonItem禁用用户交互?

时间:2015-06-29 23:35:54

标签: ios xcode swift uibarbuttonitem

当用户按下小节按钮时,它会将其颜色更改为灰色。但是当状态为/tmp/nuclide-logs/nuclide.log时,条形按钮的颜色不应改变。我有同样的问题,如this question,从来没有得到解决,每个答案都不起作用。没有pressed属性。但是禁用整个条形按钮会对我不想要的条形按钮产生alpha效果。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

你是对的,没有优雅的解决方案。执行此操作的最佳方法是在工具栏中使用UIButton。请看这个答案中的编辑部分:How do I remove UIBarButtonItem glow programtically?

答案 1 :(得分:0)

我有类似的问题,我通过为UIControlStateNormal和UIControlStateDisabled设置相同的图像来解决它。然后禁用条形按钮。

UIImage *buttonImage = [UIImage imageNamed:@"ic_launcher.png"];
UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom];
[aButton setImage:buttonImage forState:UIControlStateNormal];
[aButton setImage:buttonImage forState:UIControlStateDisabled];
aButton.frame = CGRectMake(0.0,0.0,50,50);
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:aButton];
backButton.enabled = NO;
self.navigationItem.leftBarButtonItem = backButton;