LoginSignup
7
3

More than 5 years have passed since last update.

UIViewやUIButtonに影をつける

Posted at

はじめに

アプリを作っていてUIViewをベタ張りするととても見辛かったのでGoogleMapsを参考にViewに
影をつける方法をまとめます.
IMG_3844.PNG
IMG_3848.PNG

ソースコード

CALayerEx.swift
import Foundation
import UIKit

public extension CALayer {
    enum Direction {
        case top
        case bottom
    }

    public func addShadow(direction: Direction){
        switch direction {
        case .top:
            self.shadowOffset = CGSize(width: 0.0, height: -1)
        case .bottom:
            self.shadowOffset = CGSize(width: 0.0, height: 1)
        }
        self.shadowRadius = 1.5
        self.shadowColor = UIColor.black
        self.shadowOpacity = 0.5
    }
}

コードはとても簡単で、色々な場面で使えるのでExtensionに入れました.
これをこんな感じで使えば影がついてみやすくなります.
topにすると下から光が当たる感じになって上辺に影がつきます.
なおshadowRadiusやshadowColor,shadowOpacityは各々で統一したい値に変更するといいです.


        self.menuBarView.layer.addShadow(direction: .bottom)

IMG_3846.PNG

最後に

他の人の記事を見るとこの処理は重いと言われているのをみたのですが検証していないのでわかりません、すみません.

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3