UITableView дизайн в стиле Twitter - PullRequest
       8

UITableView дизайн в стиле Twitter

4 голосов
/ 09 декабря 2011

Я пытаюсь воспроизвести дизайн Twitter UITableView (см. Изображение ниже):

enter image description here

Не удалось его воспроизвести: (

Я пробовал несколько методов, таких как:

  • UITableViewController с self.view.layer.borderWidth = 3.0f + shadows + cornerRadius
  • UITableViewController со сгруппированным стилем и угловым радиусом
  • UIView с UITableView в качестве подпредставления и углового радиуса

Любая подсказка, чтобы решить мою проблему, пожалуйста?

Заранее большое спасибо за вашу помощь.

Ответы [ 3 ]

4 голосов
/ 09 февраля 2012

По-моему, это НЕ ваш классический стиль UITableView.

Это может быть UITableView (простой стиль), который охватывает всю ширину устройства и состоит из пользовательских UITableViewCell. Ячейки достаточно узкие, чтобы оставить место для отображения индикаторов прокрутки.

Каждый UITableViewCell визуализирует UIImage на фоне ячейки: каждый отличается в зависимости от положения - верх, середина, низ - или типа контента. Изображение для фона ячейки уже будет содержать теневые пиксели. В моем опыте, использующем Quartz для тени, слишком интенсивно и медленно работает процессор, iphone 4). Кроме того, каждая пользовательская ячейка может также иметь свой вид setOpaque: TRUE для повышения производительности (на фоне сплошного цвета).

Каждая ячейка твита может занимать разные линии / высоты, поэтому вы, вероятно, будете использовать [UIColor colorWithPatternImage: [UIImage imageNamed: @ "tile.png"]] при установке фона ячейки.

Таким образом, мы не получаем никаких реальных теневых / процессорных ресурсов. Просто графика, подбор цветов и позиционирование.

2 голосов
/ 17 августа 2012

Это очень похоже на твиттер UI

https://github.com/vicpenap/PrettyKit

0 голосов
/ 08 августа 2018

Я использовал простой трюк, в котором вы используете UIView "Vbg" под UITableView и устанавливаете цвет ячеек и таблицы в clearcolor.Затем увеличьте высоту:

 Vbg.heightConstraint.constant = number of cells * height of cell. 

Мне пришлось использовать это для ячеек с фиксированной высотой, так что этот прием пришел мне на ум, и он работал довольно хорошо.

...