我已经将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;
但这些都不起作用。
我搜索了高低,在找不到任何东西之后我开始认为我错过了什么,谁能告诉我它可能是什么?感谢。
答案 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。