読者です 読者をやめる 読者になる 読者になる

髪も切れるiOSエンジニアのブログ

元美容師エンジニアの成長と奮闘の記録

自作家計簿アプリ製作の軌跡④ 〜UIパーツにシャドウを〜

これからアプリ内のUIパーツにシャドウを設定していくことが多くなりそうだ。
一発メソッド呼び出しでシャドウをつけたい!かつ細かい設定ができるようにしたいと!
ということで拡張してシャドウ用メソッドを作りました。

環境

xcode 8.1
swift 3.0

実装

UIViewクラスを拡張します。

import UIKit

// UIViewを拡張して
extension UIView {
    /// UIViewを継承するUIパーツにシャドウを設定するメソッド
    /// - parameter opacity: 影の濃さ
    /// - parameter radius: 影のぼかし具合
    /// - parameter x: 水平方向の影の出し具合
    /// - parameter y: 垂直方向の影の出し具合
    ///
    func setShadow(opacity: CGFloat, radius: CGFloat, x: CGFloat, y: CGFloat) {
        self.layer.shadowOpacity = opacity
        self.layer.shadowColor = UIColor.black.cgColor
        self.layer.shadowRadius = radius
        self.layer.shadowOffset = CGSize(width: x, height: y)
    }

呼び出しは

setLabel.setShadow(opacity:1.0 radius: 2.0, x: 0, y: 3.0)

UIViewを拡張してるから
UIViewを継承するUIパーツならなんでも使える!
もっと便利な拡張があったら教えてください!

つづく