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

不幸的是,没有showsTouchWhenHighlighted为UIBarButtonItem,我不能从工具栏编辑我的button…

任何帮助,高度赞赏! 🙂

谢谢,

尼莉

负责这个的属性可以在UIButton类中访问:

myButton.showsTouchWhenHighlighted = NO; 

您可以在UIBarButtonItem中通过将UIButton分配给barbutton项的customView属性并configurationbutton来以编程方式访问该button。 您也可以在Interface Builder中执行此操作:将UIButton拖到UIToolbar上,然后将其自动embedded到UIBarButtonItem中,然后查找button设置下的“显示触控突出显示”checkbox。

顺便说一下,我不知道你是如何定制你的button,所以随时忽略这一点,但如果你的button外观和行为像一个标准的工具栏项目,那么用户将期望的发光效果。

从这里回答

编辑

那么试试这个:

 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];