我爲我的按鈕添加了漸變效果,並將其作爲子圖層添加到我的Button
。如何從UIButton突出顯示時刪除CAGradientLayer
代碼是:
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.myButton.layer.bounds;
gradientLayer.colors = [NSArray arrayWithObjects: (id)[[UIColor whiteColor] colorWithAlphaComponent:0.5].CGColor,(id) colorTwo.CGColor,(id) colorThree.CGColor,(id) colorFour.CGColor, nil];
gradientLayer.locations = [NSArray arrayWithObjects: [NSNumber numberWithFloat:0.0f], [NSNumber numberWithFloat:1.0f], nil];
self.myButton.layer.cornerRadius = 5;
gradientLayer.cornerRadius = self.myButton.layer.cornerRadius;
[self.myButton.layer addSublayer:gradientLayer];
現在,當我的按鈕被高亮(稱爲touchedDown方法),我想新的梯度設置爲myButton的。因此,我需要刪除舊的漸變效果,當myButton被點擊並添加新的漸變。
如何去除舊的漸變效果?
我試圖
for (CALayer *layer in [self.loginScreenView.btnPowerBroking.layer.sublayers copy]){
if ([[layer name] isEqualToString:@"gradientLayer"]) {
NSLog(@"Gradient layer found.");
}
}
但我無法得到它的梯度層。
謝謝你的時間。 (:
感謝您的編輯。我忘了注意問題中的這些小問題。在詢問下一個問題時,我會記住這些。 (: – Ganesh