CAGradientLayer不自动调整

我在我的UIImageView上添加了CAGradientLayer。 我已经设置UIImageView上的自动调整屏蔽是灵活的跨越边界(灵活的高度,宽度..等)。 然而,我的imageView顶部添加的渐变图层不调整UIImageViewresize时。 为什么是这样? 代码如下:

CAGradientLayer *imgOverlay = [CAGradientLayer layer]; CGColorRef startBlueColor = [UIColor colorWithRed:23/255.f green:171/255.f blue:219/255.f alpha:0.8].CGColor; CGColorRef endBlueColor = [UIColor colorWithRed:23/255.f green:171/255.f blue:219/255.f alpha:0.5].CGColor; imgOverlay.colors = [NSArray arrayWithObjects: (id) startBlueColor, (id) endBlueColor, nil]; imgOverlay.locations = [NSArray arrayWithObjects: [NSNumber numberWithFloat:0.0], [NSNumber numberWithFloat:1.0], nil]; imgOverlay.startPoint = startPoint; imgOverlay.frame = self.backgroundImageView_.bounds; imgOverlay.endPoint = endPoint; self.imageOverlay = imgOverlay; [self.backgroundImageView_.layer addSublayer:self.imageOverlay]; 

CALayer不支持iOS上的自动resize。 您必须在layoutSubviews中或在适当的位置手动实施resize。