今日のテーマは
【画像に白い枠をつけたい】
タイトルにはドロップシャドウってついてますが
当初は、
写真のように外枠に白枠を表示したい!
というざっくりからスタート。
それもほぼほぼカメラアプリは出来上がってる段階で
仕様変更。
とりあえずこんな感じ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
UIImageView *_imageView; // // 白わく CALayer *layer = [_imageView layer]; [layer setMasksToBounds:YES]; [layer setBorderWidth: 3.0f]; [layer setBorderColor:[[UIColor whiteColor] CGColor]]; //ドロップシャドウ layer.shadowColor = [UIColor blackColor].CGColor; layer.shadowOpacity = 0.5f; layer.shadowOffset = CGSizeMake(10.0f, 10.0f); layer.shadowRadius = 5.0f; layer.masksToBounds = NO; UIBezierPath *path = [UIBezierPath bezierPathWithRect:_imageView.bounds]; layer.shadowPath = path.CGPath; |
こちら、参考にさせて頂いているサイト様がドロップシャドウと
白枠で違っていて、、、
書き方に若干違和感があります。
うまくうごいているからいいのですが
例えば
1 2 3 4 5 |
//白枠 [layer setMasksToBounds:YES]; //ドロップシャドウ layer.masksToBounds = NO; |
多分、同じようなことを設定していると思うのですが、
書き方的にどっちがいいんでしょうか?
自分のなかでは統一したほうが、あとで見たときにわかりやすいので
統一したいのですが、なるべくObjective-Cの標準な書き方に寄せたいと思ってますので
もっと勉強しないとだめってことですかね。
今日の教訓
質をあげよう
とあるブログを見て、もう少しだけ改良しようと思い
今回ドロップシャドウと白枠を入れてみました。
いきなりは無理なので
ちょっとずつちょっとずつ質を上げていこうと思います。
@tomo_tsuru [layer set○○]は普通のセッターの書き方で、@propertyと@synthesize宣言をしておくと簡素化した layer.○○が使えるので、違いはないように思います。Objective-C超入門の知識ですが…
なるほど。自分の好みで作成していいってことなんですね。