0

通常のボタンでできること

btn.selected = !btn.selected.

UIBarButton でそれを引き出すにはどうすればよいですか?

4

4 に答える 4

2

カスタムビューで UIBarButtonItem を作成できます

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:normalImage forState:UIControlStateNormal];
[button setImage:selectedImage forState:UIControlStateSelected];
[button addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:button];

それで

-(void)btnClick:(id)sender{
UIBarButtonItem *item = (UIBarButtonItem *)sender;
UIButton *button = (UIButton *)item.customView;
[button setIsSelected:YES];
}
于 2013-03-19T09:14:05.430 に答える
2

UIBarItem 内でカスタム ボタンを使用することができます。

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:self.yourButton]

[self.navigationItem setRightBarButtonItem:barButton];

それで:

   self.yourButton.select = !self.yourButton.select;
于 2013-03-19T09:10:08.637 に答える
1

選択したプロパティを UIBarButtonItem からすぐに取得することはできません。ただし、UIButton を配置し、UIBarbutton のようにカスタマイズすることで、これを実現できます。このリンクはあなたにとってより便利です... UIBarButtonItems の状態をプログラムで取得するにはどうすればよいですか?

于 2013-03-19T09:14:12.903 に答える
1

アイデア 1. IB でインターフェイスを作成している場合は、標準の UIButton オブジェクトを UIToolbar にドラッグしてみてください。これにより、UIBarButton 内に UIButton がカプセル化されます。UIBarButton オブジェクトをプレーンに設定します。いつものようにすべてへのアウトレットを作成します。次に、標準ボタンを、ツールバーの選択状態などの素敵な標準のものすべてと一緒に使用できます。

アイデア 2. ご覧のようにコントロールに柔軟性がないため、ツールバーの使用をほとんどあきらめました。今は、UIToolbar のインスタンスを UIViews に置き換えて、ローテーションやサイズ変更などを管理する必要があるコードの場合は少量を実行するだけです...より柔軟であることがわかったので、他のコントロールをより簡単に含めましょう。

于 2013-03-19T09:08:01.723 に答える