1

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

4

1 回答 1

3

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

myButton.showsTouchWhenHighlighted = NO;

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

顺便说一句,我不知道您是如何自定义按钮的,因此请随意忽略这一点,但如果您的按钮看起来和行为类似于标准工具栏项,那么用户会期待发光效果。

从这里回答

编辑

那么试试这个:

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];
于 2012-11-29T09:59:55.273 回答