タグ

影に関するyuisekiのブックマーク (3)

  • Cocoaの日々: Bezelボタンを作る[03]矩形の内側に影を落とす

    こんな中を抜いた図形が作って描画すれば矩形の内側に影ができるだろう。 影ができればこの図形自体は不要なので(矩形の内側に)クリッピングして隠してしまえば良い。 コードはこんな感じ。 - (void)drawRect:(CGRect)rect { CGRect frame = CGRectInset([self bounds], INSET_SIZE, INSET_SIZE); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSaveGState(context); // [1] clipping [self addRoundRectPath:context rect:frame]; CGContextClip(context); // [2] fill background in round rect [[UIC

  • UIView画像加工レシピ集 - jarinosuke blog

    リッチなインターフェースにするために。 アプリを作る以上、ダウンロードしてもらったユーザには一回でも多くタップしてもらいたいですよね。 タップワーシィな UI を作るためには、現実のメタファーを反映させたコントロールを作る必要があります。 もちろん iOS SDK に付属している UIKit を用いるだけで十分な場合も多いのですが、今までにない独創的なアプリを作るためには、自分でイチから UI を作り込まなければいけない場合もあります。 しかし、 イチから作るとなると CoreAnimation や Quartz など今まであまり触ったことのないレイヤまで手を加えないといけないような気がして、腰が引けてしまったりすると思います。(自分がそうだっただけですが…) そこで「CoreAnimation とか良く分かってないけど、ちょっとリッチな UI にしてみたい」っていう人のために、簡単な画像

    UIView画像加工レシピ集 - jarinosuke blog
  • Cocoaの日々: CALayer を使ってビューの内側に影を落とす

    CALayer を使うと簡単にビューに影を落とすことができる。 CALayer* layer = self.imageView1.layer; layer.shadowOffset = CGSizeMake(2.5, 2.5); layer.shadowColor = [[UIColor blackColor] CGColor]; layer.shadowOpacity = 0.5; ただこの方法はビューの外側に影を落とせても、ビューの内部には影を落とせない。 どうするか。 CALayer のプロパティを眺めていていると shadowPath に気がついた。このプロパティには CGPathRef を渡すことができる。 @property CGPathRef shadowPath;もしかしてこれを使って任意の場所や形で影が落とせないか。 試しにこんな矩形のパスを作って渡してみた。 CALay

    Cocoaの日々: CALayer を使ってビューの内側に影を落とす
    yuiseki
    yuiseki 2012/02/15
    あったあった、これこれ
  • 1