我在我的视图控制器中有一个自定义样式的UIButton,它是通过使用CAGradientLayer自定义UIButton,四舍五入并在图层周围添加边框来实现的。 iPhone iOS自定义UIButton与CAGradientLayer,如何使它显示触摸?
我喜欢这些按钮的外观和感觉,而且它们非常容易实现,而无需使用预先呈现的图像。但我有一个问题 - 这样的按钮不响应触摸UIButton的方式。例如,一个典型的圆角矩形按钮会在点击时突出显示蓝色,但我的按钮不会。
如果我按照下面的代码在UIButton上使用自定义CAGradientLayer
背景,我该如何实现“触摸高亮按钮”行为?
谢谢您的输入!
+(void)addLinearGradientToView:(UIView*)view TopColor:(UIColor*)topColor BottomColor:(UIColor*)bottomColor
{
for(CALayer* layer in view.layer.sublayers)
{
if ([layer isKindOfClass:[CAGradientLayer class]])
{
[layer removeFromSuperlayer];
}
}
CAGradientLayer* gradientLayer = [CAGradientLayer layer];
//top down gradient
gradientLayer.startPoint = CGPointMake(0.5, 0);
gradientLayer.endPoint = CGPointMake(0.5,1);
gradientLayer.frame = view.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[topColor CGColor], (id)[bottomColor CGColor], nil];
[view.layer insertSublayer:gradientLayer atIndex:0];
}