我在我的視圖控制器中有一個自定義樣式的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];
}