2017-01-01 14 views
1

私はこのようなドロップシャドウを追加しています。右側にドロップシャドウを追加するにはどうすればよいですか?

vwVertical=[[UIView alloc] init]; 
[vwVertical setBackgroundColor:[UIColor whiteColor]]; 
vwVertical.translatesAutoresizingMaskIntoConstraints = NO; 
vwVertical.layer.shadowColor=[UIColor colorWithRed:32/255 green:59/255 blue:90/255 alpha:1.0].CGColor; 
vwVertical.layer.shadowOffset=CGSizeMake(5, 0); 
vwVertical.layer.shadowOpacity=0.12; 
vwVertical.layer.shadowRadius=6.5; 
[vwBlock addSubview:vwVertical]; 

しかし、これは影の3辺を追加しています。どのように私はちょうど右側に追加することができます。 私を助けてください。 おかげ

答えて

0

すべてを行う必要がtopにビューの境界をはめ込むことです - leftからbottom、およびshadow pathを使用しています。

vwVertical=[[UIView alloc] init]; 
// Create edge insets 
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0, 10, 0, 0); 
// Create rect with inset and view's bounds 
CGRect shadowPathOnlyIncludingRight = UIEdgeInsetsInsetRect(vwVertical.bounds, contentInsets); 
// Apply it on the layer's shadowPath property 
vwVertical.layer.shadowPath = [UIBezierPath bezierPathWithRect:shadowPathOnlyIncludingRight].CGPath; 

[vwVertical setBackgroundColor:[UIColor whiteColor]]; 
vwVertical.translatesAutoresizingMaskIntoConstraints = NO; 
vwVertical.layer.shadowColor=[UIColor colorWithRed:32/255 green:59/255 blue:90/255 alpha:1.0].CGColor; 
vwVertical.layer.shadowOffset=CGSizeMake(5, 0); 
vwVertical.layer.shadowOpacity=0.12; 
vwVertical.layer.shadowRadius=6.5; 
+0

右端には上と下の10ピクセルの影がありません。 –

+0

@AlexandreG私の答えは更新されています。それは私が最初に答えたときに、私はちょうど報告された問題に直面していなかった、奇妙です。 – dirtydanee

+0

しかし、今は影が右側だけではありません。私は上記のコードを貼り付けてコピーしました。シャドウの不透明度を高くして、より目立つようにしてください:http://www.goloskok.com/u/image-6UQ1XEYirw.png –

関連する問題