Tôi vừa mới bắt đầu phát với mẫu Chế độ xem chi tiết chính trong Xcode 4.3 và tôi đang cố thay đổi màu nền của bản gốc và đặt màu thành màu. Đây là những gì tôi đã cố gắng:iOS UITableView: gán màu nền dưới dạng gradient sử dụng CAGradientLayer
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;
}
Khi chạy tôi nhận được lỗi sau đây trong 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]));
}
}
tôi cũng đã thêm khung công tác QuartzCore vào dự án . Tôi đang thiếu gì ở đây? và những gì tôi nên thường đi vào khi các lỗi như vậy xảy ra (vì xây dựng thành công, ứng dụng dường như đã bị rơi ở đây)?
thể trùng lặp của [Gradients trên UIView và UILabels Trên iPhone] (http://stackoverflow.com/questions/422066/gradients-on-uiview-and-uilabels-on-iphone) –