2016-09-13 56 views
3

有誰知道我可以如何將box-shadow轉換爲Objective-C中UIButton的陰影?將CSS Box Shadow轉換爲iOS Shadow

例如這個影子:

box-shadow: 2px 0 0 0 #46d466,-2px 0 0 0 #46d466,0 2px 4px 0 rgba(0,0,0,.1),0 2px 8px 0 rgba(70,212,102,.7); 

回答

0
CAGradientLayer *gradient = [CAGradientLayer layer]; 
    gradient.frame = CGRectMake(0, 0, 5, testBtn.frame.size.height); 
    gradient.colors = [NSArray arrayWithObjects:(id)[UIColor clearColor].CGColor, (id)[UIColor colorWithRed:0 green:0 blue:0 alpha:0.8f].CGColor, nil]; 
    [testBtn.layer insertSublayer:gradient atIndex:0]; 

你可以給任何顏色或漸變。 希望這有助於。

CALayer * bgLayer = [CALayer layer]; 
bgLayer.frame = CGRectMake(0, 0, 5, testBtn.frame.size.height); 
bgLayer.backgroundColor = [UIColor grayColor].CGColor; 
[testBtn.layer insertSublayer: bgLayer atIndex:0]; 
+0

你可以給任何你想要的顏色.. – magid

0

您需要使用按鈕層屬性。您只能指定一種顏色(或使用上述建議的漸變),例如

button.layer.shadowColor = [UIColor grayColor].CGColor; 
button.layer.shadowOffset = CGSizeMake(0, 1.0); 
button.layer.shadowOpacity = 1.0; 
button.layer.shadowRadius = 0.0; 
2

UIButton有型CALayer.The層屬性的特殊屬性層是偉大的許多快速的特殊效果,一些內置的,就像陰影是其中的一個內置效果。

請找到下面的代碼。

btn.layer.shadowColor = [UIColor grayColor].CGColor; 
btn.layer.shadowOffset = CGSizeMake(3.0, 3.0); 
btn.layer.shadowOpacity = 2.0; 
btn.layer.shadowRadius = 2.0; 

enter image description here

  1. shadowOffset:用於創建陰影的模糊半徑。默認值 至3.
  2. shadowOpacity:圖層陰影的不透明度。默認爲(0, -3)。
  3. shadowRadius:用於渲染圖層陰影的模糊半徑(以點爲單位)。

欲瞭解更多信息,請參閱developer site上的API。

或者你也可以改變陰影的偏移量。

btn.layer.shadowOffset = CGSizeMake(10.0, 10.0); 

enter image description here

您還可以更改影響的陰影如何出現模糊的陰影的半徑。

btn.layer.shadowRadius = 10.0; 

enter image description here

希望它會爲你工作!