Попробовав некоторые из ответов здесь, я решил пойти целым свистом и реализовать весь подкласс поверх UITableView
и UITableViewCell
, чтобы воспроизвести стиль сгруппированных сгруппированных таблиц в iOS 7.
https://github.com/TimOliver/TORoundedTableView
В итоге он оказался очень вовлеченным процессом:
layoutSubviews
в UITableView
, чтобы передать каждую ячейку и аксессуар, чтобы они больше не были привязаны к краю. UITableViewCell
, чтобы удалить верхние и нижние разделительные вырезки (но оставив их внутри секции нетронутыми). UITableViewCell
, которые могут иметь закругленные углы сверху и снизу, которые будут использоваться для первой и последней ячеек в каждом разделе. Эти элементы должны были CALayer
, чтобы избежать неявного поведения UITableView
изменения цвета фоновых представлений, когда пользователь удаляет ячейку. CALayer
экземпляры, t ответить на layoutSubviews
, мне тогда пришлось выполнять некоторые Core Animation, чтобы гарантировать, что верхняя и нижняя ячейки изменяются с той же скоростью, что и другие ячейки, когда пользователь поворачивает устройство. В целом, это можно сделать, но поскольку для этого требуется довольно много усилий и стоит небольшой объем производительности (поскольку он постоянно борется с кодом Apple, пытающимся все отложить), лучше всего будет подать радар с Apple, требуя от них официально разоблачить этот стиль. До тех пор не стесняйтесь использовать мою библиотеку. :)