iPhone UIToolbar UIButtonItem突出显示

时间:2009-12-10 08:48:12

标签: iphone ios uitoolbar

我已经将UIToolbar子类化了,并且在其中创建了一组UIButtonItems,所有这些都按顺序添加,并且与灵活空间间隔很好。我现在想要在每次点击时切换其中一个UIButtonItems(就像iPod中的随机播放按钮,白蓝蓝白色。我保留了对UIButtonItem的引用。

// interface
UIButtonItem *_shuffleButton;      // released in dealloc

// implementation
UIImage *_shuffleButtonImage = [UIImage imageNamed:@"shuffle_icon_200x100.png"];
_shuffleButton = [[UIBarButtonItem alloc] initWithImage:_shuffleButtonImage  style:UIBarButtonItemStylePlain target:self action:@selector(shuffleButtonTapped)];

所以现在在shuffleButtonTapped我想做类似的事情:

_shuffleButton.highlighted = YES;
// or 
_shuffleButton.selected = YES;

但这些都不起作用。

我搜索了高低,在找不到任何东西之后我开始认为我错过了什么,谁能告诉我它可能是什么?感谢。

2 个答案:

答案 0 :(得分:3)

以下是我创建自己的navigationItem按钮的方法,该按钮实际上是一个视图,可以像任何其他视图一样进行动画制作。

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom ];
btn.frame = CGRectMake(0, 0, 30, 30.0);
[btn setBackgroundColor:[UIColor colorWithRed: 0.3f green:0.3f blue:0.3f alpha:1.0f]];

[btn setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[btn addTarget:viewController action:@selector(rightButtonTouchUpInside) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithCustomView:btn];
viewController.navigationItem.rightBarButtonItem = customItem;
[customItem release];

答案 1 :(得分:0)

如果您只想将简单图像作为按钮显示,请改用UITabBar。它会自动更改UI。