iPhone:如何在按下时从UIBarButtonItem中删除发光(光)?

时间:2012-07-08 16:49:31

标签: ios5 uibarbuttonitem uitoolbar

我正在尝试从UIBarButton项目中移除光晕,以便我的文本看起来是标签而不是按钮。我已经看到各种帖子谈论如何通过界面构建​​器或通过设置布尔变量“showsTouchWhenHighlighted”来做到这一点,但这些选项都不可用于我看来。我已经尝试在.m viewDidLoad中设置showsTouchWhenHighlighted,我更改了字体和字体大小,但UIBarButtonItem似乎没有该属性。我也只在下面的图像中有选项来更改InterfaceBuilder。

enter image description here

2 个答案:

答案 0 :(得分:2)

有一种方法可以做到这一点(有点黑客但它有效)。只需将UIButton拖到工具栏中(而不是UIBarButtonItem)。然后,系统会自动为您创建UIBarButtonItem作为UIButton的超级视图。然后你就这样设置:

<强>的UIBarButtonItem

  • 风格:平原
  • 标题:(空)

<强>的UIButton

  • 类型:自定义
  • 标题:(您的实际标签标题)
  • 文字颜色:白色
  • 显示触控亮点:(未选中)

以下是用作参考的屏幕截图: enter image description here

注意:请记住,从现在开始,必须在UIButton

上对文字进行任何更新

答案 1 :(得分:0)

试试这个:

`

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(140 , 0, 50, 250)];
    [label setBackgroundColor:[UIColor clearColor]];
    label.text = @"TEXT";
    UIView *view = (UIView *) label;
    [self.barItem setCustomView:view];

`

注意:self.barItem是从对象库添加的UIBarButtonItem,位于两个灵活空间之间。

另一种方法是删除[self.barItem setCustom:view]行并更改标签的参数(宽度),使其填充整个工具栏,并在代码中自行将对齐设置为中间和字体,