2
私はカスタムの編集ボタン項目を作成するには、次のコードを使用してい
に使用するセレクター:カスタムeditButtonItem - 完了状態
UIButton *editButton = [UIButton buttonWithType:UIButtonTypeCustom];
[editButton addTarget:self action:@selector(startEditing) forControlEvents:UIControlEventTouchUpInside];
[editButton setTitle:@"Filters" forState:UIControlStateNormal];
editButton.frame = CGRectMake(editButton.frame.origin.x, editButton.frame.origin.y, 60.0, 30.0);
[editButton setBackgroundImage:[UIImage imageNamed:@"contact_btn_bg.png"] forState:UIControlStateNormal];
[editButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[editButton.titleLabel setFont:[UIFont boldSystemFontOfSize:12.0f]];
UIBarButtonItem *cEditButtonItem = [[UIBarButtonItem alloc] initWithCustomView:editButton];
self.navigationItem.rightBarButtonItem = cEditButtonItem;
[editButton release];
しかし、私は「完了」状態をカスタマイズする方法を確認していません。もちろん、私はif/thenスイッチを使って新しい(void)finishEditing
プロシージャを呼び出すことができますが、何が終了したprocを編集する必要があるのか分かりません。私が必要なときに、通常の状態のボタンを切り替える。
私(void)startEditing
は、次のようになります。
- (void)startEditing {
[self setEditing:YES animated:YES];
}
完璧な...私は、異なる状態に対して異なる 'UIBarButtonItems'を設定する「進むべき道」このことについて考えていたが、これはだったかどうかわかりませんでした。私は 'UIControlState'機能を使用しようとしなければならないのかどうかは分かりませんでしたが、バーボタンの項目にはこれがないので、これが最良の選択肢のようです。 –
あなたは ' - (UIBarButtonItem *)leftBarButtonItem {...}'を意味すると思います。 –
それを指摘してくれてありがとう。修正されました。 –