objective-c - 如何以编程方式删除UIBarButtonItem发光?

标签 objective-c ios uibarbuttonitem

不幸的是,没有UIBarButtonItem的showsTouchWhenHighlighted,而且我无法从工具栏编辑按钮...

最佳答案

可以在UIButton类中访问负责此操作的属性:

myButton.showsTouchWhenHighlighted = NO;

您可以在UIBarButtonItem中(以编程方式)通过将UIButton分配给条形按钮项目的customView属性并配置按钮来访问它。您也可以在Interface Builder中执行此操作:将UIButton拖到UIToolbar上,它将自动为您嵌入UIBarButtonItem中-然后在按钮设置下查找“在突出显示时显示”复选框。

顺便说一句,我不知道您是如何自定义按钮的,因此可以随意忽略它,但是如果您的按钮的外观和行为类似于标准的工具栏项目,则用户会期望发光效果。

here的回答

编辑:

然后尝试以下方法:
UIImage* buttonImage = [UIImage imageNamed: @"header.navigation.back.png"];     
UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom];
[aButton setImage:buttonImage forState:UIControlStateNormal];
aButton.frame =  CGRectMake(0.0, 0.0, buttonImage.size.width/2, 32);
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:aButton];
[aButton addTarget:self action:@selector(backToPriorView) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = backButton;
[backButton release];

关于objective-c - 如何以编程方式删除UIBarButtonItem发光?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13622941/

相关文章:

objective-c - NSArray:检测并删除不存在的对象(文件)

ios - 暂停/播放其他应用程序的背景音频

iphone - 尝试以编程方式向 UINavigationController 添加按钮,但它从未显示

objective-c - 如何在带有 nil 终止参数列表的 init 方法中调用 super ?

objective-c - 开放托克 : OTCameraCaptureResolutionHigh equivalent variable in swift

objective-c - 如何以这种格式显示数字?

ios - Swift 中的变量声明是什么类型

ios - UISegmentedControl 不响应触摸

ios - 以编程方式删除 UIBarButtonItem 的图像

objective-c - Objective C - iOS - UIWebView 保留在 ARC 中,但未调用委托(delegate)方法