Как сделать градиентный фон в UITableViewCell в iOS? - PullRequest
11 голосов
/ 04 августа 2011

Я следовал приведенному ниже руководству, чтобы использовать CAGradientLayer для создания градиентного фона в UITableViewCell.

http://cocoawithlove.com/2009/08/adding-shadow-effects-to-uitableview.html

Кроме этого учебного руководства, есть ли другие ресурсы в этой теме?

Спасибо.

Ответы [ 4 ]

39 голосов
/ 04 августа 2011

Всегда потрясающий Рэй Вендерлих сделал учебник по изменению UITableViewCells и включает в себя градиент.

http://www.raywenderlich.com/2033/core-graphics-101-lines-rectangles-and-gradients

Если вы хотите быстро и хорошо, вот код:

//include #import <QuartzCore/QuartzCore.h> in the header…

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

 if (cell == nil) {
        cell = [[DayCalendarCellView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        CAGradientLayer *gradient = [CAGradientLayer layer];
        gradient.frame = cell.bounds;
        gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor whiteColor]CGColor], (id)[[UIColor redColor]CGColor], nil];
        [cell.layer addSublayer:gradient];
    }        
    return cell;
}

Вы можете изменить цвета, но это даст вам хорошую идею ...

Удачи!

2 голосов
/ 18 декабря 2013

Следуйте ответу Джейкоба и установите цвет фона кнопки UIB или любого вида просмотра:

[button.layer insertSublayer:gradient atIndex:0];

вместо:

[button.layer addSublayer:gradient];
2 голосов
/ 05 августа 2011

Создание 1-пиксельного изображения высоты X.

добавить объект UIView в ячейку в методе cellForRowAtIndexPath.

colorWithPatterImage метод uicolor в методе setbackgroundcolor UIView.

1 голос
/ 04 августа 2011

Peronally Я бы создал градиентное изображение в Photoshop или GIMP, а затем использовать его в качестве фона. Должно работать нормально, пока ячейки имеют предсказуемый размер.

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