UIView突出显示了背景渐变

时间:2014-02-21 14:24:00

标签: ios objective-c calayer

我正在尝试使用渐变作为我的UIView的背景。

    CAGradientLayer *gradientLayer = [[CAGradientLayer alloc] init];
    gradientLayer.frame = CGRectMake(0.f, 0.f, self.currencyView.frame.size.width, self.currencyView.frame.size.height);
    [gradientLayer setLocations:@[@0.f, @1.f]];
    [gradientLayer setColors:@[(id)[UIColor whiteColor].CGColor,(id)[UIColor blackColor].CGColor]];
    [self.animalView.layer insertSublayer:gradientLayer atIndex:0];

通过添加 UITapGestureRecognizer

,我已将此视图设为可添加
    UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showAnimalDetails)];
    [self.currencyView addGestureRecognizer:singleFingerTap];

我的问题是,当检测到触摸时,如何添加突出显示的渐变(可能只是反转渐变)。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

使该图层成为一个类变量而不是局部变量,然后在showAnimalDetails函数内部更改渐变属性。然后拨打setNeedsDisplay。你将不得不通过其他方式处理取消选择。