はじめに
私は以前、SwiftUIでの外観モードの検知について記事を投稿しました。
今回は以前紹介した方法とは別の方法でUIKitでも使用できる方法を紹介します。
方法
if UITraitCollection.current.userInterfaceStyle == .dark {
// ダークモード
} else {
// ライトモード
}
私はどの場面で使うことになったかというと、
SwiftUIでTabBarに色をつける際に使用しました。
import SwiftUI
struct ContentView: View {
init() {
let appearanceT: UITabBarAppearance = UITabBarAppearance()
if UITraitCollection.current.userInterfaceStyle == .dark {
appearanceT.backgroundColor = .white
} else {
appearanceT.backgroundColor = .black
}
UITabBar.appearance().standardAppearance = appearanceT
UITabBar.appearance().scrollEdgeAppearance = appearanceT
}
var body: some View {
TabView {
Text("ホーム")
.tabItem {
Text("ホーム")
Image(systemName: "house")
}
Text("検索")
.tabItem {
Text("検索")
Image(systemName: "magnifyingglass")
}
Text("設定")
.tabItem {
Text("設定")
Image(systemName: "gearshape")
}
}
}
}
ライトモード | ダークモード |
---|---|
おわり
最近、開発モチベが上がってきて記事のストック増えてきました笑