Кнопка удаления не отображается на UITableViewCell с закругленными углами

В моем табличном представлении у меня есть логика в моей tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) чтобы определить, имеет ли ячейка закругленные углы сверху, снизу или вообще не закругленные углы.

 override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { if indexPath.row == 0 { // round top 2 corners let maskLayer = CAShapeLayer() maskLayer.path = UIBezierPath(roundedRect: cell.bounds, byRoundingCorners: [UIRectCorner .TopLeft, UIRectCorner .TopRight], cornerRadii: CGSizeMake(4, 4)).CGPath cell.layer.mask = maskLayer } if indexPath.section != 1 { if indexPath.row == self.tableView.numberOfRowsInSection(indexPath.section) - 1 { let maskLayer = CAShapeLayer() maskLayer.path = UIBezierPath(roundedRect: cell.bounds, byRoundingCorners: [UIRectCorner .BottomLeft, UIRectCorner .BottomRight], cornerRadii: CGSizeMake(4, 4)).CGPath cell.layer.mask = maskLayer } } } 

Это работает, но после того, как я внедрил редактирование в виде таблицы, с кнопкой удаления появляются странные вещи.

С закругленными углами код:

с закругленными углами

Когда я удаляю закругленные углы:

без закругленных углов

Это действительно смущает меня, потому что я не уверен, что я делаю неправильно. Может ли кто-нибудь помочь?

 override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { if indexPath.row == 0 { // round top 2 corners let maskLayer = CAShapeLayer() maskLayer.path = UIBezierPath(roundedRect: cell.bounds, byRoundingCorners: [UIRectCorner .TopLeft, UIRectCorner .TopRight], cornerRadii: CGSizeMake(4, 4)).CGPath cell.contentView.layer.mask = maskLayer } if indexPath.section != 1 { if indexPath.row == self.tableView.numberOfRowsInSection(indexPath.section) - 1 { let maskLayer = CAShapeLayer() maskLayer.path = UIBezierPath(roundedRect: cell.bounds, byRoundingCorners: [UIRectCorner .BottomLeft, UIRectCorner .BottomRight], cornerRadii: CGSizeMake(4, 4)).CGPath cell.contentView.layer.mask = maskLayer } } } 

использовать cell.contentView.layer.mask = maskLayer

  • Остановить повторное использование пользовательских ячеек Swift
  • iOS - Липкие заголовки разделов в сгруппированном UITableView с пользовательскими ячейками
  • UIView в верхней части ячейки в UITableView
  • Сортировка массива объектов в алфавитном порядке на основе атрибута строки
  • Неверное значение из UITableView: rowHeight на iOS8
  • Использование автозапуска в таблицеHeaderView
  • Пользовательский UITableViewCell, кнопка в ячейке не работает
  • UITableView Прокрутка автоматически вверх до начала после начала / окончания обновления вызова для регулировки высоты
  • Неожиданно останавливается действие переупорядочивания ячейки UITableView
  • UIButton, добавленный в представление содержимого UITableViewCell, появляется только при выборе ячейки
  • Как масштабировать изображение в изображении UITableViewRowAction, чтобы оно соответствовало динамической высоте ячейки
  • Давайте будем гением компьютера.