1

ストーリーボードのインターフェイスビルダーを使用して、ナビゲーションツールバーの左上隅にバーボタンアイテムを配置し、テーブルビューセルの編集ビューを切り替えます。現在、「セルの編集」のようなテキストがあります

私の質問は、画像を使用するようにこれを変更するにはどうすればよいですか?EditCellson状態とEditCellsoff状態用に独自のカスタム画像を作成しましたが、Interface Builderで画像を指定すると、画像はバーボタン項目で引き伸ばされます。画像のフレームを使用するために、このバーボタンアイテムをコードからプログラムで作成する必要がありますか?状態を指定するにはどうすればよいですか?

Interface Builderでこれを行う方法があるはずだと思いますが、プログラムでこれを実行しようとしました。

UIImage *image = [UIImage imageNamed:@"edit-off.png"];
UIButton *showEditButton = [UIButton buttonWithType:UIButtonTypeCustom];
showEditButton.bounds = CGRectMake( 0, 0, image.size.width, image.size.height );
[showEditButton setImage:image forState:UIControlStateNormal];
UIBarButtonItem *showEditButtonItem = [[UIBarButtonItem alloc] initWithCustomView:showEditButton];

では、ナビゲーションバーの左上にshowEditButtonItemを追加するにはどうすればよいですか?

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

実際の画像:

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

4

2 に答える 2

1

iOSのアイコンは、特定のサイズであることが期待されています。iOSヒューマンインターフェイスガイドラインで、必要なさまざまなアイコンのすべてのサイズを見つけることができます。

状態ごとに異なるアイコンに設定することに関しては、コードで行う必要があると思います。

の画像を設定するには、プロパティUIBarButtonItemを設定する必要があります。image

editButton.image = editActiveImage;

また

editButton.image = editInactiveImage;
于 2012-06-28T15:43:07.623 に答える
1

プログラムでボタンを追加するのは次のようなものです。

UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"kyyL4.png"] style:UIBarButtonItemStylePlain target:self action:@selector(editObject:)];
self.navigationItem.rightBarButtonItem = editButton;

このコードをViewController.mファイル-viewDidLoad:のメソッドに配置します。

(悲しいニュースは、画像もこのように引き伸ばされることです。)

于 2012-06-28T15:51:11.317 に答える