Я искал этот форум, Google и другие форумы и не нашел ответа на мой конкретный вопрос.
В основном у меня есть UIView
, который содержит UITableView
.Я следовал этому уроку , и он был частично успешным.Проблема в градиенте.У меня есть фоновое изображение за UITableView
.Так как ячейка приближается к градиенту, я хочу, чтобы фон показывал вместо белого.
Я также нашел этот пост , в котором я нашел учебник, но я неЯ не хочу использовать этот пост с моими собственными вопросами для Мэтта.
Любая помощь в правильном направлении будет отличной!
РЕДАКТИРОВАТЬ1: я знаю, что могу использовать другое изображение с фоновым изображениемсередина вырезана, но я ищу решение, которое ИЗБЕГАЕТ, используя PNG, если возможно.
EDIT2: Вот изображение того, что я получаю сейчас:
EDIT3:
Вот мой код:
Заголовок:
@interface MyView : UIViewController {
CAGradientLayer *_maskLayer;
UITableView *_tableView;
}
@property (nonatomic, retain) CAGradientLayer *maskLayer;
@property (nonatomic, retain) IBOutlet UITableView *tableView;
Реализация:
@implementation HighScoresView_iPhone
@synthesize tableView = _tableView;
@synthesize maskLayer = _maskLayer;
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (![self maskLayer]) {
[self setMaskLayer:[CAGradientLayer layer]];
CGColorRef outerColor = [UIColor colorWithWhite:1.0 alpha:1.0].CGColor;
CGColorRef innerColor = [UIColor colorWithWhite:1.0 alpha:0.0].CGColor;
[[self maskLayer] setColors:[NSArray arrayWithObjects:
(id)outerColor,
(id)innerColor,
(id)innerColor,
(id)outerColor,
nil
]
];
[[self maskLayer] setLocations:[NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0],
[NSNumber numberWithFloat:0.2],
[NSNumber numberWithFloat:0.8],
[NSNumber numberWithFloat:1.0],
nil
]
];
[[self maskLayer] setBounds:CGRectMake(0, 0, [[self scoreTableView] frame].size.width, [[self scoreTableView] frame].size.height)];
[[self maskLayer] setAnchorPoint:CGPointZero];
[[[self scoreTableView] layer] addSublayer:[self maskLayer]];
}
}