を実施してcommitEditingStyle:
います。ナビゲーションバーの編集ボタンをクリックすると、スワイプして削除ボタンが表示され、すべて正常に動作します。問題は、「編集」をクリックすると、そのボタンを「完了」に変更したいということです。「完了」をクリックすると、テーブルビューセルの削除ボタンが消えます。どうすればこれを行うことができますか?私がどこで間違いを犯したか。
コード スニペットを以下に示します。
- (void)viewDidLoad
{
UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 133, 44.01)];
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];
UIBarButtonItem* bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(ComposeBtn)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];
bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
[buttons addObject:bi];
[bi release];
bi = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(setEditing:)];
bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];
[tools setItems:buttons animated:NO];
[buttons release];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
// Return NO if you do not want the specified item to be editable.
return YES;
}
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
[self.listOfFilesTblView setEditing:editing animated:animated];
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
以下のコード行を使用すると、すべて正常に動作します。
self.navigationItem.rightBarButtonItem=self.editButtonItem;
しかし、ナビゲーションバーに2つのボタン、1)編集、2)作成が必要です。ここで何が欠けているか教えてください。よろしくお願いします。