2014-10-17 2 views
0

В моем представлении таблицы я хочу, чтобы первые два элемента имели светло-зеленый цвет фона. Я исследовал эту тему ранее, и использую код, указанный в этих ответах, но он не работает для меня. Это код, который у меня есть:Создание определенных UITableViewCells имеет другой цвет фона

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
if (indexPath.row == 0) 
{ 
    cell.backgroundColor = [UIColor colorWithRed:144 green:238 blue:144 alpha:1]; 
} 

else if (indexPath.row == 1) 
{ 
    cell.backgroundColor = [UIColor colorWithRed:144 green:238 blue:144 alpha:1]; 
} 
} 

Что я делаю неправильно? Как я могу улучшить этот код, чтобы быть более эффективным и эффективным?

+1

Что происходит с фоном? Является только белым? Можете ли вы установить точку останова и посмотреть, будет ли метод вызван, а строка cell.backgroundColor фактически выполнена. Я думаю, лучшее место для установки цвета фона в cellForRowAtIndexPath: – Yan

+0

- это ваш контент в TableCell прозрачен? если нет, возможно, он остается выше ячейки. – Bejibun

+0

Он был белым, пока не зафиксировал, как я использовал colorWithRed ..., передавая значения float. –

ответ

3

попробовать

cell.backgroundColor = [UIColor colorWithRed:144.0/255.0 green:238/255.0 blue:144/255.0 alpha:1]; 

значения для компонентов определяются как поплавки между 0,0 и 1,0

+ (UIColor *)colorWithRed:(CGFloat)red 
        green:(CGFloat)green 
        blue:(CGFloat)blue 
        alpha:(CGFloat)alpha 

Параметры

красный
красный компонент цвета объект, заданный как значение от от 0,0 до 1,0.

green
Зеленый компонент цветового объекта, указанный как значение от 0.0 до 1.0.

blue
Синий компонент цветового объекта, указанный как значение от 0.0 до 1.0. alpha Значение непрозрачности цветного объекта, , заданное как значение от 0.0 до 1.0.

https://developer.apple.com/library/ios/documentation/uikit/reference/UIColor_Class/index.html#//apple_ref/occ/clm/UIColor/colorWithRed:green:blue:alpha:

+0

А, я этого не знал. Большое вам спасибо, вы должны простить меня, так как я немного новичок в этом. Далее я прочитаю документацию :) –

+0

@FaisalSyed Я не уверен, что мой комментарий здесь имеет значение, но я помню, что представление таблицы может также повторно использовать ячейки (по крайней мере для osx), поэтому вам, вероятно, потребуется очистить цвет (и другие настроенные свойства) в дополнительной else {} ветке. – user3125367

0

Вы должны изменить

[UIColor colorWithRed:144 green:238 blue:144 alpha:1] 

к

[UIColor colorWithRed:144/255.0 green:238/255.0 blue:144/255.0 alpha:1.0] 

Как UIColor API показать параметр red/green/blue должен быть указан в качестве значения от 0,0 до 1,0 ,

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