我在我的应用程序中使用GradientButton类。当我更改按钮的框架时,CAGradientLayer不会更改新框架。 CAGradientLayer是旧框架尺寸的大小,使按钮看起来非常差。添加的宽度或高度则只是纯色,没有渐变。一种解决方案是删除按钮并重新添加它,但这不是我想要的路径。有没有一种方法可以调用重绘GradientButton,以便渐变层包含新的按钮尺寸?
更新:removeFromSuperview
和addSubview
无法解决问题。
答案 0 :(得分:0)
创建此方法来解决问题:
- (void)setFrame:(CGRect)frame {
[super setFrame:frame];
shineLayer.frame = self.layer.bounds;
highlightLayer.frame = self.layer.bounds;
}