質問hereで議論したように、CAGradientLayerを使用してUITableViewの背景色を設定しようとしました。私は何が起こることは初期値が移入された細胞は、私が設定グラデーションカラーと重複されているように見えるということですiOS UITableView:usingCAGradientLayerにより、最初のオブジェクトがテーブルビューに表示されなくなる
- (void)viewDidLoad
{
// ....
if (!navigationItems) {
navigationItems = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", @"4", nil];
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSArray *colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:213.0f/255.0f green:91.0f/255.0f blue:92.0f/255.0f alpha:1.0f] CGColor][[UIColor colorWithRed:213.0f/255.0f green:0.0f blue:0.0f alpha:1.0f] CGColor], nil];
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.colors = colors;
gradientLayer.frame = tableView.bounds;
[tableView.layer insertSublayer:gradientLayer atIndex:0];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
cell.textLabel.text = [navigationItems objectAtIndex:indexPath.row];
cell.textLabel.textColor = [UIColor blackColor];
return cell;
}
...このようなNSMutableArrayの中にいくつかの値とのUITableViewを移入しています。これらのセルにはテキスト/境界線は表示されません(値が1
、2
、3
、4
のセル)。私はここで間違って何をしていますか?
は、優れた、私のために働きました。ありがとうございます –