티스토리 뷰
728x90
반응형
let appearance = UITabBarAppearance()
// set tabbar opacity
appearance.configureWithOpaqueBackground()
// remove tabbar border line
appearance.shadowColor = UIColor.clear
// set tabbar background color
appearance.backgroundColor = .white
tabBar.standardAppearance = appearance
if #available(iOS 15.0, *) {
// set tabbar opacity
tabBar.scrollEdgeAppearance = tabBar.standardAppearance
}
// set tabbar tintColor
tabBar.tintColor = .black
// set tabbar shadow
tabBar.layer.masksToBounds = false
tabBar.layer.shadowColor = UIColor.black.cgColor
tabBar.layer.shadowOpacity = 0.3
tabBar.layer.shadowOffset = CGSize(width: 0, height: 0)
tabBar.layer.shadowRadius = 6
위의 코드로 iOS 13.0 에서도 대응이 된다. iOS 15.0 에서는 위의 scrollEdgeAppearance 코드를 추가해줘야하는데 scrollEdgeAppearance 가 무엇인지 알아보자!
스크롤 가능한 엣지가 탭바의 엣지와 정렬될 때 표시줄의 모양 설정.
Discussion
탭바 컨트롤러가 탭바와 스크롤 뷰를 가지고 있을 때 스크롤 뷰의 컨텐츠의 일부가 탭바의 아래에 나타납니다. 스크롤된 컨텐츠의 엣지가 탭바에 닿으면 UIKit 은 이 프로퍼티의 appearance 세팅을 적용합니다.
if #available(iOS 15.0, *) {
// set tabbar opacity
tabBar.scrollEdgeAppearance = tabBar.standardAppearance
}
즉, 위의 코드의 의미는 스크롤이 되어 탭바에 닿을 때 탭바의 scrollEdgeAppearance
를 standardAppearance
로 세팅하는 것입니다! 설정하지 않으면 아래와 같이 탭바와 닿을 때 변한답니다!
iOS 13.0 에서도 적용되는지 실행해보자
먼저 프로젝트의 Deployment info 에서 최소버전을 설정할 수 있다! 여기서 13.0 을 설정하게 되면 아래처럼 시뮬레이터의 iOS 버전을 설정해서 사용할 수 있다.
그리고 iOS 13.0 으로 설정하게 되면 tabBar.scrollEdgeAppearance = tabBar.standardAppearance
와 같이 그 이후 버전에서 등장해서 사용할 수 없는 코드들이 에러로 잡히게 된다. 그러면 위에처럼 분기처리를 해주면 된다.
728x90
반응형
'iOS' 카테고리의 다른 글
iOS) UITextField 글자 수 제한 구현하기 (2) | 2021.12.08 |
---|---|
iOS) UIPickerView 에 고정 라벨 추가하기 (0) | 2021.12.01 |
Swift) 삼항연산자 (4) | 2021.11.24 |
iOS) PHPicker iOS 14+ (0) | 2021.11.15 |
iOS) Protocol 생성 시 AnyObject 상속받기 (5) | 2021.11.11 |
댓글
TAG
- UserDefaults
- SwiftUI
- async/await
- rxswift
- Protocol
- 서버통신
- WWDC
- projectsetting
- urlsession
- Swift
- configurable widget
- Firebase
- github
- MOYA
- IOS
- containerBackground
- APNS
- watchOS
- Notification
- RxCocoa
- CloneCoding
- Algorithm
- 2022 KAKAO TECH INTERNSHIP
- WidgetKit
- OpenSourceLibrary
- YPImagePicker
- Widget
- WWDC22
- Objective-C
- MVVM
최근에 올라온 글
최근에 달린 댓글
글 보관함
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
링크
- Total
- Today
- Yesterday