方法は次のとおりです。
スワイプで削除ボタンを有効にする
// uitableviewcontroller に次のメソッドがあることを確認してください
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"You hit the delete button.");
}
削除の代わりにカスタム テキスト ラベルを設定します。
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"Your Label";
}
ボタン部分 1 のカスタム カラーを設定します - 警告、これには技術的にはプライベート Apple API の突っ込みが含まれます。ただし、UIKIT の一部であるパブリック メソッド検索を使用してサブビューを変更することはできません。
uitableviewcell クラスを作成します ( https://stackoverflow.com/a/22350817/1758337も参照)
- (void)layoutSubviews
{
[super layoutSubviews];
for (UIView *subview in self.subviews) {
//iterate through subviews until you find the right one...
for(UIView *subview2 in subview.subviews){
if ([NSStringFromClass([subview2 class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {
//your color
((UIView*)[subview2.subviews firstObject]).backgroundColor=[UIColor blueColor];
}
}
}
}
別の注意: このアプローチが将来の更新で機能するという保証はありません。また、privateUITableViewCellDeleteConfirmationView
クラスについて言及したり使用したりすると、AppStore で拒否される可能性があることに注意してください。
ボタン パーツ 2 のカスタム カラーを設定する
あなたのuitableviewcontrollerに戻ります
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
[YourTableView reloadData];
}
(代替色は、次に layoutSubviews がテーブルセルで呼び出されるまで呼び出されないため、すべてをリロードすることでこれが確実に行われるようにします。)