編集ボタンを押すと、アイテムの左側に丸い削除アイコンが表示されます。セル内の削除アイコンを押すと、「回転」しますが、削除ボタンが表示されないため、押す削除ボタンがないため、commitEditingStyleが呼び出されません。
楽しみのために...セルを[挿入]に変更します。プラスアイコンが表示されます...それを押すと、commitEditingStyleが呼び出されます。
削除ボタンが表示されない理由がわかりません。
ポップオーバーに表示しているUIViewControllerがあります。私はUITableViewを追加しています...
audioTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, self.view.frame.size.width, 303)];
audioTable.delegate = self;
audioTable.dataSource = self;
[self.view addSubview:audioTable];
テキストを表示するために2つのラベルが含まれるカスタムセルを使用しています。
これがカスタムセルのinitWithFrameです...
primaryLabel = [[UILabel alloc]initWithFrame:CGRectMake(25 ,8, 275, 25)];
primaryLabel.font = [UIFont systemFontOfSize:14];
secondaryLabel = [[UILabel alloc]initWithFrame:CGRectMake(25 ,28, 275, 25)];
secondaryLabel.font = [UIFont systemFontOfSize:12];
[self.contentView addSubview:primaryLabel];
[self.contentView addSubview:secondaryLabel];
[self.contentView sendSubviewToBack:primaryLabel];
[self.contentView sendSubviewToBack:secondaryLabel];
編集呼び出しに接続されているViewControllerのツールバーに削除ボタンがあります。セルに削除記号が表示されているため、正常に呼び出される編集呼び出しで行っていることは次のとおりです...
if([self.audioTable isEditing]) {
[button setTitle:@"Edit"];
[super setEditing:NO animated:NO];
[self.audioTable setEditing:NO animated:YES];
} else {
[button setTitle:@"Done"];
[super setEditing:YES animated:NO];
[self.audioTable setEditing:YES animated:YES];
}
私は以下を実装しました...
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleDelete;
}
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
//i don't think i need to implement this really
return YES;
}
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//do delete stuff
}
}
私が言ったように、すべてが正常に機能しています。ボタンを押すとすべてが機能します...削除ボタンはありません。