我想用CAGradientLayer
爲不同大小的多個視圖創建顏色漸變。我不知道如何分開定義框架:適用於不同視圖的CAGradientLayer
UIColor *darkOp = [UIColor colorWithRed:0.2f green:0.2f blue:0.27f alpha:1.0];
UIColor *lightOp = [UIColor colorWithRed:0.36f green:0.35f blue:0.42f alpha:1.0];
// Create the gradient
CAGradientLayer *gradient = [CAGradientLayer layer];
// Set colors
gradient.colors = [NSArray arrayWithObjects:
(id)darkOp.CGColor,
(id)lightOp.CGColor,
nil];
//set radius
gradient.cornerRadius = 5.0;
// Set bounds BUT just for one view size
gradient.frame = self.numberRegionView.bounds; //<-- here I can just define one frame size
// Add the gradient to one view
[self.numberRegionView.layer insertSublayer:gradient atIndex:0];
//but how to add the gradient layer to views with different sizes ???
//[self.graphRegionView.layer insertSublayer:gradient atIndex:0]; ???
//[self.barRegionView.layer insertSublayer:gradient atIndex:0]; ???
謝謝!
爲什麼不爲每個新視圖/尺寸新的漸變層?我不確定是否需要重新使用CAGradientLayer。 – Putz1103
感謝Putz,這肯定會工作,但我希望找到一個解決方案,可以避免多次重複相同的代碼。 – JFS
我會張貼一些代碼作爲答案,以顯示它並非真正重複的代碼。如你所願使用它。 – Putz1103