0

これはばかげた質問になると思いますが、答えが見つからないようです。ナビゲーション バーにボタンを配置するための単純なコード行がいくつかあります。

UIBarButtonItem *cancelButton=[[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"button-cancel.png"] style:UIBarButtonItemStylePlain target:self action:@selector(cancelPressed:)];
UINavigationItem *item = [[UINavigationItem alloc] init];
item.leftBarButtonItem = cancelButton;
item.hidesBackButton = YES;
[self.navigationBar pushNavigationItem:item animated:NO];

このボタンは正常に機能しますが、次のようになります。 ここに画像の説明を入力

何かご意見は?

4

4 に答える 4

1

カスタム ビューを使用してバー ボタン アイテムを作成することをお勧めします。ここで、カスタム ビューは次のUIButtonとおりです。

UIImage *cancelImage = [UIImage imageNamed:@"button-cancel"];
UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeCustom];
cancelButton.frame = (CGRect){CGPointZero, cancelImage.size);
[cancelButton setImage:cancelImage forState:UIControlStateNormal];
UIBarButtonItem *cancelBarButton = [[UIBarButtonItem alloc] initWithCustomView:cancelButton];
于 2013-06-07T22:07:05.680 に答える
0

button-cancel.png のサイズに従って、ボタン (cancelButton) のサイズを設定します。

stopButton.frame = CGRectMake ();

于 2013-06-07T22:05:55.000 に答える
0

代わりに、画像を使用してカスタム タイプの UIButton を作成します。UIbutton のターゲットとセレクターを、バー ボタン アイテムに実行させたい内容に設定します。次に、バー ボタン アイテムを次のように初期化します。

UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];

button は、目的の画像を使用した UIButton です。

于 2013-06-07T22:06:31.407 に答える