Есть ли способ изменить ячейку разделителя UITableView? - PullRequest
0 голосов
/ 28 января 2010

Мое приложение будет использовать несколько более толстые разделительные линии в tableViews - примерно в 3 раза больше толщины. Я уже сделал это в некоторых областях, установив значение separatorStyle равным none и настроив backgroundViews для ячеек с пользовательскими фонами, включающими толстый разделитель.

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

Все было бы намного проще, если бы я мог изменить толщину разделителя по умолчанию ... Есть ли способ сделать это или что-то подобное?

Ответы [ 2 ]

2 голосов
/ 28 января 2010

Ну, я понял это. Это на самом деле довольно просто, но есть плохие новости и хорошие новости. Плохая новость заключается в том, что разделители на самом деле являются собственными классами представлений, добавленными в качестве подпредставлений к tableView, и эти классы являются частью недокументированного API Apple. Таким образом, любая их модификация не будет подходить Apple.

Хорошей новостью является то, что вам не нужно ничего делать с недокументированными классами, чтобы сгущать разделительные линии. Вы можете просто добавить свои собственные подпредставления в качестве разделителей. Лично я предпочел бы рисовать линии, а не использовать механизм подпредставления (поскольку все новые подпредставления могут привести к изменению большой таблицы), но, поскольку у нас нет доступа к _UITableViewSeparatorView, я возьму все, что смог получить:)

0 голосов
/ 28 января 2010

Я ответил на соответствующий вопрос здесь. .Зайдите в метод drawRect и просто увеличьте ширину линии в соответствии с вашими потребностями.

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

Надеюсь, это поможет.

Спасибо,

Madhup

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...