UIViewやUIButtonに影をつける
はじめに
アプリを作っていてUIViewをベタ張りするととても見辛かったのでGoogleMapsを参考にViewに
影をつける方法をまとめます.
ソースコード
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
}
}
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)
最後に
他の人の記事を見るとこの処理は重いと言われているのをみたのですが検証していないのでわかりません、すみません.
Author And Source
この問題について(UIViewやUIButtonに影をつける), 我々は、より多くの情報をここで見つけました https://qiita.com/Amayarielu/items/f688a5239c1edb16be01著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .