私はCALayerを使用して、uitableviewcellをよく見ています。私はこれを次のようにしようとしています:
CALayer *btnLayer = [cell layer];
[btnLayer setMasksToBounds:YES];
[btnLayer setCornerRadius:10.0f];
[btnLayer setBorderWidth:5.0f];
[btnLayer setBorderColor:[[UIColor blackColor] CGColor]];
CAGradientLayer *shineLayer = [CAGradientLayer layer];
shineLayer.frame = btnLayer.bounds;
shineLayer.colors = [NSArray arrayWithObjects:
(id)[UIColor colorWithWhite:1.0f alpha:0.4f].CGColor,
(id)[UIColor colorWithWhite:1.0f alpha:0.2f].CGColor,
(id)[UIColor colorWithWhite:0.75f alpha:0.2f].CGColor,
(id)[UIColor colorWithWhite:0.4f alpha:0.2f].CGColor,
(id)[UIColor colorWithWhite:0.3f alpha:0.4f].CGColor,
nil];
shineLayer.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0f],
[NSNumber numberWithFloat:0.5f],
[NSNumber numberWithFloat:0.5f],
[NSNumber numberWithFloat:0.8f],
[NSNumber numberWithFloat:1.0f],
nil];
[btnLayer addSublayer:shineLayer];
tableViewControllerのcellForRowAtIndexPathメソッドで実行しています。すべてが完璧に機能し、セルはよく輝いていますが、セルを上下に数回ドラッグすると、上下のセルが再び描画されます。その後、細胞はより軽くなります。
動的セルを使用し、配列からデータをロードします。正しい方法を教えてください。
ありがとう