ナビゲーションバーにボタンを実装すると、ユーザは&のUITableViewの行を並べ替えることができます。UITableView編集/完了ボタン
自分のUITableViewの編集/完了ボタンを持つために私自身のツールバーボタンを作成する必要がありますか?
ナビゲーションバーにボタンを実装すると、ユーザは&のUITableViewの行を並べ替えることができます。UITableView編集/完了ボタン
自分のUITableViewの編集/完了ボタンを持つために私自身のツールバーボタンを作成する必要がありますか?
ちょうどあなたのテーブルビュースーパーがUINavigationController
であればそれは動作しますあなたのUITableViewController
self.navigationItem.leftBarButtonItem = self.editButtonItem;
のviewDidLoad
にこの行を追加します。この行には、編集モードでテーブルをプッシュするボタンが追加されます。
何一般的に行われていますが、独自のカスタムBarbuttonItemを作成し、次に右のナビゲーションバーボタンアイテムとして、このボタンを割り当てるです:
UIBarButtonItem *barButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"Edit"
style:UIBarButtonItemStylePlain
target:self
action:@selector(toggleEdit)];
self.navigationItem.rightBarButtonItem = barButtonItem;
[barButtonItem release];
ここtoggleEdit方法です:あなたがあなたのボタンをしたい場合
-(void)toggleEdit{
[self.tableView setEditing:!self.tableView.editing animated:YES];
if (self.tableView.editing)
[self.navigationItem.rightBarButtonItem setTitle:@"Done"];
else
[self.navigationItem.rightBarButtonItem setTitle:@"Edit"];
}
青の「完了」カラーとプレーンな「編集」カラーを切り替えるには、rightBarButtonItemを青のUIBarButtonItemStyleDoneまたはこのようなプレーンのUIBarButtonItemStylePlainに設定します
self.navigationItem.rightBarButtonItem.style = UIBarButtonItemStyleDone;
UIButton *btnname=[UIButton buttonWithType:UIButtonTypeSystem];
[btnname setFrame:CGRectMake(0,0,110,35)];
[btnname setFont:[UIFont boldSystemFontOfSize:18]];
[btnname setTitle: @"Delete" forState: UIControlStateNormal];
[btnname setTitleColor:UIColorFromRGB(0xCC0707) forState:UIControlStateNormal];
btnname.backgroundColor=UIColorFromRGB(0xE6E7E8);
btnname.showsTouchWhenHighlighted = YES;
[btnname addTarget:self
action:@selector(toggleEdit)
forControlEvents:UIControlEventTouchDown];
UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:btnname];
self.navigationItem.rightBarButtonItem = barItem;
-(void)toggleEdit{
[self.tableView setEditing:!self.tableView.editing animated:YES];
if (self.tableView.editing)
[btnname setTitle: @"Done" forState: UIControlStateNormal];
else
[btnname setTitle: @"Delete" forState: UIControlStateNormal];
}
これは私の仕事です。 – Saravanan
ここで私が使用スウィフトバージョンです:
func clickedEditButton(button: UINavigationItem) {
tableView.setEditing(!tableView.editing, animated: true)
if tableView.editing {
button.rightBarButtonItem?.title = "Done"
} else {
button.rightBarButtonItem?.title = "Edit"
}
}
は私が、しようとしたが、それは編集モードの内と外の私のtableViewをプッシュしていません。私が処理しなければならない代理コールバックはありますか? –
はView Controllerのサブクラスで、 – Robin
@robinのサブクラスです。いいえ、そうではありません。 –