0

Apple の iPadメールアプリには、分割ビュー コントローラーの詳細ビューのnavigationItemのsetRightBarButtonItems領域に埋め込まれて表示されるいくつかのアイコンがあります。

ここに画像の説明を入力

このように navigationItem バーにアイコンを追加するにはどうすればよいですか (アイコンは既にあります)。

私の問題は、UIBarButtonItem クラスの参照に、ボタンの周囲に境界線を許可しない適切な UIBarButtonItemStyle がないように見えることです。initWithCustomView を介して UIBarButtonItem を構成しようとしましたが、ボタンをタップしても機能しません。

提案をお寄せいただきありがとうございます

乾杯

編集: UIBarButtonItemStylePlain を使用できますが、リンゴのボタンのように「埋め込まれている」ようには見えません。これは私が求めている外観です。

ここに画像の説明を入力

4

1 に答える 1

0

私はそれを解決し、次の結果を生み出すことができます:

ここに画像の説明を入力してください

これが私が使用するコードです。最適化することもできますが、デモンストレーションの目的には便利で反復的です。

- (void)setupNavigationItemButtons {

float buttonWidth = 60;
float buttonHeight = 40;

UIImage *imageA = [UIImage imageNamed:@"212-action2.png"]; 
UIImage *imageB = [UIImage imageNamed:@"111-user.png"];
UIImage *imageC = [UIImage imageNamed:@"122-stats.png"];

UIButton *buttonA = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, buttonWidth, buttonHeight)];
UIButton *buttonB = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, buttonWidth, buttonHeight)];
UIButton *buttonC = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, buttonWidth, buttonHeight)];

[buttonA addTarget:self action:@selector(doSomething:)      forControlEvents:UIControlEventTouchUpInside];
[buttonB addTarget:self action:@selector(doSomethingElse:)  forControlEvents:UIControlEventTouchUpInside];
[buttonC addTarget:self action:@selector(doSomethingRandom:)forControlEvents:UIControlEventTouchUpInside];

[buttonA setImage:imageA forState:UIControlStateNormal];
[buttonB setImage:imageB forState:UIControlStateNormal];
[buttonC setImage:imageC forState:UIControlStateNormal];

UIBarButtonItem *buttonItemA = [[UIBarButtonItem alloc] initWithCustomView:buttonA];
UIBarButtonItem *buttonItemB = [[UIBarButtonItem alloc] initWithCustomView:buttonB];
UIBarButtonItem *buttonItemC = [[UIBarButtonItem alloc] initWithCustomView:buttonC];

[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:buttonItemA, buttonItemB, buttonItemC,nil]];

}

于 2012-06-28T23:31:02.503 に答える