IOS 7 UITableView: это ошибка или это я?
См. прикрепленное изображение. В представлениях таблицы в iOS 7 UIKit рисует тонкую серая вертикальную линию между аксессуаром и регулятором переупорядочения. Однако при прокрутке в виде таблицы эта строка не отображается в некоторых ячейках. Он отсутствует в ячейках 1, 2 и 8 в прикрепленном изображении. Почему это? Как я могу это исправить?
![enter image description here]()
Ответы
Ответ 1
У меня такая же проблема на iphone 6s plus, и я решил установить backgroundColor ячейки textLabel на clearColor
cell.textLabel.backgroundColor = [UIColor clearColor];
Глядя на мою проблему с reveal, я показал, что правая граница метки нарисовала эту вертикальную линию.
![введите описание изображения здесь]()
Ответ 2
Вы можете попробовать это, используя
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;
{
cell.backgroundColor=[UIColor clearColor];
cell.backgroundView=nil;
}
этот метод может быть полезен или что-то, что может быть в вашей ячейке, как какое-то изображение или что.
или вы можете проверить, что с использованием выделения ячейки, как это
место if (cell == nil) вместо if (1) и выделить ячейку eveytime
Ответ 3
У меня была такая же проблема, и мне удалось найти работу. Проблема, похоже, возникает, когда представление таблицы находится в режиме редактирования и деактивирует ячейку, которая была поставлена в очередь, в то время как представление таблицы находилось в режиме без редактирования. Обход заключается в том, чтобы установить свойство редактирования ячейки в НЕТ сразу же после ее отмены.
Вид таблицы вернет это свойство обратно в YES самостоятельно после того, как вы вернете ячейку в tableView: cellForRowAtIndexPath:.
cell = [tableView dequeueReusableCellWithIdentifier:cellReuseIdentifier forIndexPath:indexPath];
cell.editing = NO;
Ответ 4
Это работает для Swift 2.1. на iOS 9.2.1. в XCode 7.2.:
Я протестировал код на iPhone 6s, а на 4-дюймовых устройствах разделитель не появился.
Я сделал подкласс UITableViewCell
Внутри required init(coder aDecoder: NSCoder)
я сделал это:
required init(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)!
self.textLabel?.backgroundColor = UIColor.clearColor()
}
Возможно, вам понадобится установить цвет фона в override func drawRect(rect: CGRect) {}
, поскольку это решение применяется только к созданию ячейки создателем интерфейса.
Решение работает на dev и симуляторе.