728x90
※ 중요!
shadowOpacity값은 무조건 설정해야한다. 안 그러면 그림자가 보이지 않는다.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var circleView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
setUpCircleView()
//그림자 세팅
setCircleViewShadow()
}
private func setCircleViewShadow() {
circleView.layer.masksToBounds = false
circleView.layer.shadowColor = UIColor.black.cgColor //그림자 색깔 : 검정색
circleView.layer.shadowOpacity = 0.4 // 그림자 투명도 : 0~1, 0에 가까울 수록 투명해짐
circleView.layer.shadowOffset = CGSize(width: 0, height: 5) // 그림자 위치 이동 : 밑으로 5 point 이동
circleView.layer.shadowRadius = 5 // 그림자 굵기
circleView.layer.shadowPath = UIBezierPath(arcCenter: CGPoint(x: circleView.bounds.width / 2, y: circleView.bounds.height / 2), radius: circleView.bounds.width / 2, startAngle: 0, endAngle: 2 * .pi, clockwise: true).cgPath //그림자 모양 : 그림자와 동일한 크기의 원형
}
private func setUpCircleView() {
circleView.layer.cornerRadius = circleView.bounds.width / 2
circleView.backgroundColor = .red
}
}
728x90
'iOS > 예제' 카테고리의 다른 글
[iOS 예제] Ripple Effect (0) | 2022.06.19 |
---|---|
[iOS 예제] CircleProgressView 만들기 (0) | 2021.12.11 |
[iOS 예제] Drag and Drop가능한 UIView만들기 (0) | 2021.12.05 |
[iOS 예제] InfiniteTextView 무한 스크롤 텍스트뷰 만들기 (0) | 2021.06.17 |
[iOS 예제] UIPanGestureRecognizer로 BottomSheet 만들어보기 (0) | 2021.05.01 |
댓글