ユーザーがナビゲーション バーのボタンをクリックしたときに呼び出されるメソッドがあります。このようにボタンを追加すると、メソッドが呼び出されます。
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"myEditButton"]
style:UIBarButtonItemStyleBordered
target:self
action: @selector(enterEditMode:)];
editButton.title = @"Edit";
[self.navigationItem setRightBarButtonItem:editButton animated:YES];
ユーザーがボタンをクリックすると、enterEditMode: メソッドが呼び出されます。
ただし、このコードを使用すると、結果は添付ファイルのようになります。テキストはありませんが、画像が青いボタンの上に表示されます。標準のシステム編集ボタンは、青ではなく黒にする必要があるため使用できません。AFAIA 標準の編集バー ボタンの色を黒に変更することはできませんか?
そのため、xib で、ボタン画像である UIImageView とテキストの UILabel を含む親 UIView を作成しました。次に、次のようなボタン アイテムを作成します。
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithCustomView:self.editButtonParentView];
[editButton setTarget:self];
[editButton setAction: @selector(enterEditMode:)];
editButton.style = UIBarButtonItemStyleBordered;
editButton.target = self;
self.editButtonLabel.text = @"Edit"
[self.navigationItem setRightBarButtonItem:editButton animated:YES];
editButtonParentView は nib の partent ビューへの IBOutlet です。
これは完全に表示されますが、ユーザーがクリックしても enterEditMode: が呼び出されないという問題があります。
なぜ呼び出されないのですか?
ありがとう