[SwiftUI] [iOS14] PageTabViewStyle에서 PageControl의 색상 변경
TabView
에 PageTabViewStyle
가 추가되었습니다. iOS13에서는, UIPageViewController에 상당하는 클래스가 없었습니다만, PageTabViewStyle
로 실현할 수 있게 되었으므로, UIViewRepresentable를 사용하지 않게 되므로 편리합니다.그러나 하나의 난점이 arimasu.
여러가지 조사한 결과, UIKit의 UIAppearance를 사용 밖에 지금까지 방법이 없다는 것을 알았습니다.
일반 사용법
UIPageControl의 표시가 흰색이므로 배경을 검게 만듭니다.
struct ContentView: View {
var body: some View {
TabView {
Text("タイトル1").foregroundColor(.white)
Text("タイトル2").foregroundColor(.white)
}.tabViewStyle(PageTabViewStyle.init(indexDisplayMode: .always))
.background(Color.black)
.edgesIgnoringSafeArea(.all)
}
}
UIPageControl의 색상 변경
SwiftUI만으로는 UIPageControl의 파트의 색을 바꿀 수 없지만, UIAppearance를 사용하면 변경이 가능합니다.
import SwiftUI
import UIKit
struct ContentView: View {
init() {
UIPageControl.appearance().currentPageIndicatorTintColor = .red
UIPageControl.appearance().pageIndicatorTintColor = UIColor.white.withAlphaComponent(0.8)
}
var body: some View {
TabView {
Text("タイトル1").foregroundColor(.white)
Text("タイトル2").foregroundColor(.white)
}.tabViewStyle(PageTabViewStyle.init(indexDisplayMode: .always))
.background(Color.black)
.edgesIgnoringSafeArea(.all)
}
}
참고
Reference
이 문제에 관하여([SwiftUI] [iOS14] PageTabViewStyle에서 PageControl의 색상 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/usk2000/items/24e13d5087d1b76186f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)