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

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

単純な画像をボタンとして表示したいだけの場合は、代わりにUITabBarを使用してください。選択UIが自動的に変更されます。

于 2009-12-10T10:07:46.130 に答える