私はタブバーの背景を変更しようとしていて、ここObjCで多くの投稿を読んでいますが、それらの多くはかなり古いものです。しかし、私が使用しているスイフトには何も見つかりませんでした。
ついにコードからそれを行う方法を理解したので、テーマの色を変更するたびにタブバーの色を変更できます。これが私が使用した参照です:
override func viewWillAppear(animated: Bool) {
// set tab bar background color, including the More tab
self.tabBarController?.tabBar.backgroundColor = UIColor.blueColor()
}
このコードを、アプリの起動時に表示される最初のタブのView Controllerに配置して、「最初に」実行されるようにします。タブが8つあり、[その他...]タブを使用している場合でも、私が知る限りは正常に機能します。
また、同じコードをさまざまなタブのボタンにバインドしたので、コードのどこからでもタブバーの色を変更できます。
しかし、初心者として、タブバーの色を変更するのに最適な場所かどうかはわかりません。これが間違った場所である場合は、私を訂正してください。
このコードをここに投稿すると、数時間節約できたはずです。他の誰かの(Swift)時間を節約できることを願っています。
これは、UITabBar
の色を変更するための優れた方法です。 UITabBarController
内に埋め込まれているすべてのviewControllerで色を設定することを避けたい場合は、UITabBarController
のサブクラスを作成してそこに設定することもできます。このように、最初にどのページが表示されても、色が設定されます。
UITabBarController
のサブクラスを作成するには、ファイル>新規>ファイル> cocoa touchクラスに移動します...次に、この写真のようにファイルを設定します
ストーリーボードで、tabBarControllerにカスタムクラスを設定します
最後に、ファイルにMyTabBarController
(またはあなたがそれを呼んだもの)を作成しました:
class MyTabBarController: UITabBarController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.tabBar.barTintColor = .blueColor()
}
...
あなたはこのように変えることができます
tabBarController.tabBar.barTintColor = [UIColor blackColor];