2011-02-03 16 views
9

私はUIViewControllerのビューの上に追加された単純なUIViewオブジェクトの周りに影を作成しようとしています。 これを行う最も単純な方法は何ですか?影付きのUIView

答えて

28

まず、石英コアライブラリをインポートしてください:

#import <QuartzCore/QuartzCore.h> 

次に、影のプロパティを設定するには、次の行を追加します。

someView.layer.shadowColor = [[UIColor blackColor] CGColor]; 
someView.layer.shadowOffset = CGSizeMake(10.0f,10.0f); 
someView.layer.shadowOpacity = .5f; 
someView.layer.shadowRadius = 10.0f; 

あなたがいることを持っている場合ことを覚えておいてくださいビューのclipsToBoundsプロパティをYESに設定すると、影は表示されません。

+0

右上。ありがとう!私はそれを試みましたが、なぜそれがうまくいかなかったのか理解できず、問題はclipsToBoundsプロパティがYESに設定されていました。もう1つの質問は、影をビューの4つの側面すべてに表示したい場合です。私はこれが、あなたがその時にshadowOffsetを変更することによって2つの側面を持つことができると思う...とにかく、もう一度ありがとう! – zumzum

+1

オフセットと半径の両方が10の場合、影はいくつかのビューの後ろに隠れています。いくつかのビューの4つの側面すべてに影を付ける場合は、オフセットよりも大きくなるように半径を変更します(または、オフセットを0に変更して、一部のビューの周囲に偶数の影を付けます)。 – FuePi

3

私はそれを理解するのに時間がかかりました。コードは完璧に機能しますが、石英をインポートする必要があります。

#import <QuartzCore/QuartzCore.h> 
関連する問題