LoginSignup
3
3

[SwiftUI] TabView によるページャでインジケータの色を変える

Posted at

SwiftUI Introspect を使うのが簡単かと思います。

image.png

import SwiftUI
import SwiftUIIntrospect

struct ContentView: View {
    var body: some View {
        TabView {
            Color.blue.opacity(0.2)
            Color.yellow.opacity(0.2)
            Color.green.opacity(0.2)
        }
        // ページャスタイルで利用
        .tabViewStyle(.page(indexDisplayMode: .always))
        // UIPageControl にアクセス
        .introspect(.pageControl, on: .iOS(.v14, .v15, .v16, .v17)) { pageControl in
            pageControl.currentPageIndicatorTintColor = .red // 現在ページの色
            pageControl.pageIndicatorTintColor = .gray       // それ以外の色
        }
    }
}

SwiftUI 標準の API として整備される日も来るんでしょうか?(すでにあったらコメント欄にお願いします🙏

関連

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3