不幸的是,UIBarButtonItem没有showsTouchWhenHighlighted,我无法从工具栏编辑我的按钮......
答案 0 :(得分:1)
可以在UIButton类中访问负责此属性的属性:
myButton.showsTouchWhenHighlighted = NO;
您可以通过将UIButton分配给小节按钮项的customView属性并配置按钮,在UIBarButtonItem中以编程方式访问它。您也可以在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];