iOS UITableView:назначает цвет фона в качестве градиента с помощью CAGradientLayer

Я только начал играть с шаблоном Master-Detail в Xcode 4.3, и я пытаюсь изменить цвет фона мастера и установить его. к цветовому градиенту. Вот что я пробовал:

Colors.m

#import "Colors.h"

@implementation Colors

+ (UIColor *) navigationMenuGradientTop
{
    return [UIColor colorWithRed:213.0f/255.0f green:91.0f/255.0f blue:92.0f/255.0f alpha:1.0f];
}

+ (UIColor *) navigationMenuGradientBottom
{
    return [UIColor colorWithRed:188.0f/255.0f green:0.0f/255.0f blue:1.0f/255.0f alpha:1.0f];    
}

+ (CAGradientLayer *) navigationMenuGradient
{
    NSArray *colors = [NSArray arrayWithObjects:(id)self.navigationMenuGradientTop, self.navigationMenuGradientBottom, nil];
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.colors = colors;

    return gradientLayer;
}
@end

MasterViewController.m

import "Colors.h"

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];

    CAGradientLayer *bgLayer = [Colors navigationMenuGradient];
    bgLayer.frame = tableView.bounds;
    [tableView.layer insertSublayer:bgLayer atIndex:0];

    return cell;
}

При запуске я получаю следующую ошибку вmain-Thread 1: EXC_BAD_ACCESS (code=1, address=0xxxxxxxx)

int main(int argc, char *argv[])
{
    @autorelasespool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

Я также добавил в проект фреймворк QuartzCore. Что мне здесь не хватает? и в каком направлении я обычно должен двигаться, когда возникают такие ошибки (, потому что сборка прошла успешно, приложение, похоже, упало здесь )?

6
задан stevekohls 16 June 2013 в 14:23
поделиться