1

次のようにバーボタンでビューを作成しました

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"settingsicon.png"] style:UIBarButtonItemStylePlain target:self action:@selector(settingsButtonClicked:)];

ここに画像の説明を入力

このように来ていますが、私はそれが欲しいです

ここに画像の説明を入力

ボタンの境界線を削除するにはどうすればよいですか?

4

2 に答える 2

16

これを使って :

UIBarButtonItem *barButton= [[UIBarButtonItem alloc] initWithCustomView:customButton];

任意のビューでボタンを初期化できます。任意の (許容可能な) ビューを内部に持つボタンを作成できます。

例えば。

// GRAPHICAL BUTTON FRAMEWORK
     UIButton* btton = [UIButton buttonWithType:UIButtonTypeCustom];
     [btton setFrame:CGRectMake(0, 0, 30, 30)];
     [btton addTarget:self action:@selector(SOMEROUTINE) forControlEvents:UIControlEventTouchUpInside];
     [btton setImage:[UIImage imageNamed:@"SOME IMAGE"] forState:UIControlStateNormal];
     UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:btton];

お役に立てば幸いです。

于 2013-05-07T08:11:56.790 に答える
15

もう 1 つの方法は、ボタンの背景画像を削除することです。

// portrait
[self.navigationItem.leftBarButtonItem setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
// landscape
[self.navigationItem.leftBarButtonItem setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone];
于 2013-07-02T10:55:56.347 に答える