我在我的UIImageView上添加了一个CAGradientLayer。我已经在UIImageView上设置了自动调整大小的蒙版,使其在所有边界都是灵活的(灵活的高度,width..etc)。但是,当UIImageView调整大小时,我在imageView上添加的渐变层不会调整大小。为什么会这样呢?代码如下:
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];发布于 2012-06-08 06:31:04
CALayer不支持在iOS上自动调整大小。您必须在layoutSubviews中或任何适当的地方手动实现调整大小。
https://stackoverflow.com/questions/10940606
复制相似问题