2016-12-02 3 views
0

Я хотел бы выбрать первую ячейку в виде таблицы и дать ей альфа 100%, только для первой ячейки, и этот стиль не должен использоваться повторно методом dequeueReusableCell.Как выбрать первую ячейку в виде таблицы без повторного использования?

if indexPath.row == 0 { 
    cell.imageView.alpha = 1.0 
} 

Когда я использую выше код в функции cellForItemAt она будет установлена ​​альфа 1,0 до 7 каждой ячейки. Я только хочу, чтобы это было применено к первой ячейке, и стиль не должен использоваться повторно ... Как я могу это решить? Должен ли я создать другую пользовательскую ячейку или есть ли какой-то подход в коде, достигните этого?

+0

Вместо этого попробуйте обновить модель данных. – user2071152

ответ

2

Вы должны сбросить альфа-изображение изображения, если это не первая ячейка.

if indexPath.row == 0 { 
    cell.imageView.alpha = 1.0 
} 
else { 
    cell.imageView.alpha = 0.0 // or whatever alpha value you need 
} 
+1

В общем, любое свойство ячейки, которое вы задали для некоторого состояния, должно быть сброшено для всех остальных случаев. – rmaddy

+0

Когда вы начнете прокручивать строки jn, UiTable будет повторно использоваться. Таким образом, цвет из первой строки снова появляется для следующих строк. Совет. Вы также можете использовать заголовок раздела как заголовок! – Vincent

+0

Спасибо, что решает мою проблему. Простой и чистый! – Caspert

2

Создать подкласс UITableViewCell xib. Затем вы можете зарегистрировать одну и ту же ячейку с разными идентификаторами повторного использования, когда вы настраиваете свою таблицу.

tableView.register(CustomCell, forCellReuseIdentifier: "AlphaCell") 
tableView.register(CustomCell, forCellReuseIdentifier: "{REUSE_ID}") 

При настройке вашей ячейки в:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

DEQUEUE "AlphaCell" для вашей первой ячейки, и "{REUSE_ID}" для других клеток.

+1

Много работы для простого вопроса. – Vincent

+1

@ для некоторых проектов, когда содержимое самой ячейки отличается, я использую точно тот же самый метод, который вы здесь описываете. Однако в этом конкретном случае это много перебор. (Сдвиг не был от меня). – Vincent

Смежные вопросы