2

我已经进行了子类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;

但这些都不起作用。

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

4

2 回答 2

3

这是我创建自己的navigationItemButton 所做的,它实际上是一个视图,可以像任何其他视图一样进行动画处理。

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];
于 2010-01-08T11:03:07.620 回答
0

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

于 2009-12-10T10:07:46.130 回答