重绘GradientButton(从UIButtons子类)

时间:2012-03-22 02:56:09

标签: uibutton

我在我的应用程序中使用GradientButton类。当我更改按钮的框架时,CAGradientLayer不会更改新框架。 CAGradientLayer是旧框架尺寸的大小,使按钮看起来非常差。添加的宽度或高度则只是纯色,没有渐变。一种解决方案是删除按钮并重新添加它,但这不是我想要的路径。有没有一种方法可以调用重绘GradientButton,以便渐变层包含新的按钮尺寸?

更新:removeFromSuperviewaddSubview无法解决问题。

1 个答案:

答案 0 :(得分:0)

创建此方法来解决问题:

- (void)setFrame:(CGRect)frame {
    [super setFrame:frame];
    shineLayer.frame = self.layer.bounds;
    highlightLayer.frame = self.layer.bounds;
}