我想爲我的ImageView設置漸變背景。我在Stack Overflow找到了一個解決方案。但它並不能真正滿足我的需求。設置ImageView的漸變背景,旋轉
我希望漸變從左到右。用我的代碼,我發現我只能從上到下填充它。
我用這個代碼創建漸變層:
+ (CAGradientLayer *)colorGradientWithColor:(UIColor *)color
{
UIColor *colorOne = color;
UIColor *colorTwo = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:0.0f];
NSArray *colors = [NSArray arrayWithObjects:(id)colorOne.CGColor, colorTwo.CGColor, nil];
NSNumber *stopOne = [NSNumber numberWithFloat:0.0];
NSNumber *stopTwo = [NSNumber numberWithFloat:0.9];
NSArray *locations = [NSArray arrayWithObjects:stopOne, stopTwo, nil];
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.colors = colors;
gradientLayer.locations = locations;
return gradientLayer;
}
然後我的層添加到我的UIImageView
:
CAGradientLayer *gradientLayer = [BackgroundGradient colorGradientWithColor:difficultyColor];
gradientLayer.frame = myImageView.bounds;
[myImageView.layer insertSublayer:gradientLayer atIndex:0];
這裏是結果:
在這裏我的界面設置:
正如你可以看到,有兩個UIImageViews
。我想在漸變視圖中旋轉圖層,所以它從左到右,而不是現在的樣子。
使用以下代碼片段,我可以旋轉整個ImageView
。這只是一種解決我的問題,但我不希望出現這種情況,是因爲它那種破壞我的界面..
myImageView.transform = CGAffineTransformMakeRotation(M_PI*1.5f);
所以基本上我正在尋找一個解決方案做梯度由左到右,而不是從頂部到底部。
你們有什麼想法嗎?我是XCode的新手,並希望每一個提示!
真的很有幫助,謝謝! – Pawan