Заголовки UITableView - iPhone - PullRequest
0 голосов
/ 18 июля 2011

В моем приложении для iPhone я бы хотел изменить заголовки на моем UITableView. Как я могу сохранить тот же стиль градиента / альфа / красивый вид серых заголовков по умолчанию, кроме как изменить его цвет?

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Если вы хотите применить градиент, вы можете создать собственный класс представления, а затем переопределить drawRect: и использовать CoreGraphics для рисования градиента. например,

- (void) drawRect:(CGRect)rect
{
    CGContextRef currentContext = UIGraphicsGetCurrentContext();

    CGGradientRef glossGradient;
    CGColorSpaceRef rgbColorspace;
    size_t num_locations = 2;
    CGFloat locations[2] = { 0.0, 1 };

    const CGFloat *startColorComponents = CGColorGetComponents(startColor.CGColor);
    const CGFloat *endColorComponents = CGColorGetComponents(endColor.CGColor);

    CGFloat components[8] = { startColorComponents[0], startColorComponents[1], startColorComponents[2], startColorComponents[3],  // Start color
        endColorComponents[0], endColorComponents[1], endColorComponents[2], endColorComponents[3] }; // End color

    rgbColorspace = CGColorSpaceCreateDeviceRGB();
    glossGradient = CGGradientCreateWithColorComponents(rgbColorspace, components, locations, num_locations);

    CGRect currentBounds = self.bounds;
    CGPoint topCenter = CGPointMake(CGRectGetMidX(currentBounds), 0.0f);
    CGPoint bottomCenter = CGPointMake(CGRectGetMidX(currentBounds), CGRectGetMidY(currentBounds));
    CGContextDrawLinearGradient(currentContext, glossGradient, topCenter, bottomCenter, 0);

    CGGradientRelease(glossGradient);
    CGColorSpaceRelease(rgbColorspace); 
}

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

0 голосов
/ 18 июля 2011

Вы можете использовать это

   - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{

    UIView *headerView = [[UIView alloc] initWithFrame:CGRectZero];
    headerView.backgroundColor = [UIColor lightGrayColor];
    return headerView;

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