Просто предложение: убедитесь, что все элементы имеют прозрачный цвет фона или голубой цвет, который вы используете. По-видимому, есть тот, который все еще имеет белый цвет фона, может быть представлением содержимого ячейки (если оно у вас есть) или фоном ячейки.

тройстве iOS 11 при удалении UITableViewCell по какой-то причине появляется неожиданный белый фон, однако все расцветки фона в раскадровке установлены на синий (отлично работает на iOS10).

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
        [self.bookmarks removeObjectAtIndex:indexPath.row];            
        [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }
}

Перепробовал все типыUITableViewRowAnimationне решает проблему.

 Pavel Kozlov30 сент. 2017 г., 22:18
Я уже поигрался с таблицами 'viewView' и представлениями ячейки (contentVieц / accessoryView) фоновых / оттеночных цветов без эффекта ...
 Pavel Kozlov02 окт. 2017 г., 20:29
Я уже отправил сообщение об ошибке, от Apple пока ничего не слышно
 Fred Vollmer30 сент. 2017 г., 20:56
У меня тоже есть эта проблема. Настройка ячейкиbackgroundView на вид с не белым фоном не влияет.
 Fred Vollmer01 окт. 2017 г., 17:28
Следует ли сообщать об ошибке в Apple по этому вопросу?
 Fred Vollmer03 окт. 2017 г., 17:47
Не могли бы вы опубликовать ссылку на отчет?

Ответы на вопрос(4)

если я перезагрузлю табличное представление сразу после удаления строки, анимация исчезнет, ​​но, по крайней мере, нет странного мигающего белого фона:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
        [self.bookmarks removeObjectAtIndex:indexPath.row];            
        [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
        if (@available (iOS 11, *))
        {
            [self.tableView reloadData];
        }
    }
}

Во всяком случае, это не лучшее решение = (

убедитесь, что все элементы имеют прозрачный цвет фона или голубой цвет, который вы используете. По-видимому, есть тот, который все еще имеет белый цвет фона, может быть представлением содержимого ячейки (если оно у вас есть) или фоном ячейки.

Решение Вопроса

stancesOfClasses).

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    ...

    [[UITableViewCell appearance] setBackgroundColor:[UIColor clearColor]];

    return YES;
}
 Geek2020 нояб. 2017 г., 05:36
Оно работает! Свифт 4:UITableViewCell.appearance().backgroundColor = .clear
 aalesano02 дек. 2017 г., 13:49
Не элегантное решение, но это единственное, что работает.
 Kawatan12 окт. 2017 г., 17:35
Я подтвердил, что была исправлена ​​эта проблема на симуляторе.
 Supertecnoboff08 мар. 2018 г., 22:06
До сих пор работает в 2018 году, спасибо!
 Pavel Kozlov12 окт. 2017 г., 18:27
Да, я установил все цвета фона, чтобы очистить (кроме tableView.backgroundColor, который по-прежнему синий) и реализовал прокси, как вы предлагаете - это работает! Спасибо!

добавление

UITableViewCell.appearance().backgroundColor = UIColor.clear

вdidFinishLaunchingWithOptions

Ваш ответ на вопрос