2011-11-30 10 views
5

ビューのフレームを超えてビューの影を描画する必要があるという要件があります。私たちはすでに複雑なビュー階層/レイヤーを持っており、ビューのフレームとレイアウトを変更して、viewControllerのビューの境界内に影を収めることはできません。UIViewはビューのフレームを超えて影を描く

1.私はここで私はこの方法に従うことで、影のビュー外を描画させて頂くかどうかのビット心配:

あなたはまた、ベースとなるドロップシャドウを作成することができますあなたのビューで描かれているもののアルファ成分多くの場合、これは単なるビューのエッジの周りの影になりますUILabel上のこのコード例:。。

label.layer.shadowColor = [UIColor blackColor].CGColor; 
label.layer.shadowOpacity = 1.0; 
label.layer.shadowRadius = 5.0; 
label.layer.shadowOffset = CGSizeMake(0, 3); 
label.clipsToBounds = NO; 

この場合、ビューの枠外にある影が現れるには、clipsToBoundsをNOにする必要があります。次に、丸みを帯びたコーナーとドロップシャドウを実際に組み合わせる方法を説明します。なぜなら、今実際にしたいことが確実だからです。

参考:今http://bynomial.com/blog/?p=52

2.、私は、ビューの外に影を描画することは奨励しかし、何の説明が与えられていないされていないことを伝え、スレッド間で来ている: How can I draw a shadow beyond a UIView's bounds?

いずれかがあります私たちが第1のアプローチの後に影(CALayer)を描画してはならない理由は?あるいは、第1のアプローチの後にはうまくいくのですか?

ありがとう、 Raj

答えて

6

このように影を描かない理由は絶対にありません。これは率直に唯一の方法です。なぜあなたは「境​​界線の外に影を描くのを許されないのですか?それはclipsToBoundsプロパティのためのものです。

関連する問題