일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- uitableview
- 리펙토링
- clean architecture
- Protocol
- Human interface guide
- swift documentation
- UITextView
- SWIFT
- rxswift
- Observable
- Xcode
- map
- HIG
- UICollectionView
- 클린 코드
- tableView
- 리펙터링
- swiftUI
- 리팩토링
- uiscrollview
- 스위프트
- ios
- RxCocoa
- collectionview
- 애니메이션
- ribs
- Clean Code
- Refactoring
- MVVM
- combine
- Today
- Total
목록그림자 (2)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kJPat/btra8z0fWZG/07cbQm64hBdUEBH85kiq5K/img.png)
layer.shadow 속성 사용 layer.borderWidth: 정해주지 않으면 그림자 미 표출되기 때문에 주의 layer.masksToBounds = false: 해당 view의 frame밖에 contents들을 mask처리할 것인지 layer.shadowColor: 그림자 색상 layer.shadowOffset: 그림자는 현재 view의 테두리에 겹쳐있는 상태이므로 offset을 통해 이동해야 그림자 표출 layer.shadowOpacity: 그림자 투명도 (0 ~ 1) layer.shadowRadius: 그림자의 corner radius class ViewController: UIViewController { lazy var emptyView: UIView = { let view = UIVie..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cihn4I/btq9sCYTtBG/FuOf3CkBMyNw6NwczcndJk/img.png)
BaseButton 정의 configure()에는 커스텀 버튼에 기본적으로 실행될 레이아웃 구성 bind()에는 커스텀 버튼에 특정 데이터에 대한 UI 구성 class BaseButton: UIButton { override init(frame: CGRect) { super.init(frame: frame) configure() } @available(*, unavailable) required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } func configure() {} func bind() {} } RoundedShadowButton 구현 configure() 구현 button이 가지고 있는 프로퍼티인 i..