diff --git a/AgileWorks/AgileWorks/Common/Extension/UIImageExtensions.swift b/AgileWorks/AgileWorks/Common/Extension/UIImageExtensions.swift index 74d0bbbed9de22a7742ef4b795b91ca04fdbdda7..9c86815f1c5068d58e90caf30f4df1d9fe76719d 100644 --- a/AgileWorks/AgileWorks/Common/Extension/UIImageExtensions.swift +++ b/AgileWorks/AgileWorks/Common/Extension/UIImageExtensions.swift @@ -9,6 +9,7 @@ import UIKit extension UIImage { + // 画像リサイズ func resized(size: CGSize) -> UIImage { // リサイズ後のサイズを指定して UIGraphicsImageRenderer を作成 let renderer = UIGraphicsImageRenderer(size: size) @@ -18,4 +19,17 @@ extension UIImage { draw(in: CGRect(origin: .zero, size: size)) } } + // 色変更 + func brend(color: UIColor) -> UIImage? { + UIGraphicsBeginImageContextWithOptions(size, false, 0) + let context = UIGraphicsGetCurrentContext() + let rect = CGRect(origin: CGPoint.zero, size: size) + self.draw(in: rect) + context?.setFillColor(color.cgColor) + context?.setBlendMode(.sourceAtop) + context?.fill(rect) + let image = UIGraphicsGetImageFromCurrentImageContext() + UIGraphicsEndImageContext() + return image + } } diff --git a/AgileWorks/AgileWorks/Main/Builder/MainTabBarViewBuilder.swift b/AgileWorks/AgileWorks/Main/Builder/MainTabBarViewBuilder.swift index 5df1738b92d9fecd28869fe61155f8ba82a036e2..2db8afdce4c575ba5b0cdb21d0b59553a40b0062 100644 --- a/AgileWorks/AgileWorks/Main/Builder/MainTabBarViewBuilder.swift +++ b/AgileWorks/AgileWorks/Main/Builder/MainTabBarViewBuilder.swift @@ -36,6 +36,9 @@ enum SelectedBarItem: String { case search = "search_select" } +let normalColor = UIColor(red: 170/255, green: 170/255, blue: 170/255, alpha: 1) +let selectedColor = UIColor(red: 51/255, green: 136/255, blue: 204/255, alpha: 1) + protocol MainTabBarViewBuilder { func build() -> UITabBarController } @@ -76,40 +79,43 @@ extension MainTabBarViewBuilderImpl { switch type { case ViewType.home.rawValue: view.tabBarItem.title = getDisplayString(key: "HomeTitle", comment: "") - view.tabBarItem.image = createTabBarItem(imageName: BarItem.home.rawValue) - view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.home.rawValue) + view.tabBarItem.image = createTabBarItem(imageName: BarItem.home.rawValue, color: normalColor) + view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.home.rawValue, color: selectedColor) viewVC.loadURL = createLoadUrl(urlPath: ViewURL.home.rawValue) viewVC.naviTitle = getDisplayString(key: "HomeTitle", comment: "") viewVC.tabTitleKey = "HomeTitle" case ViewType.work.rawValue: view.tabBarItem.title = getDisplayString(key: "WorkTitle", comment: "") - view.tabBarItem.image = createTabBarItem(imageName: BarItem.work.rawValue) - view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.work.rawValue) + view.tabBarItem.image = createTabBarItem(imageName: BarItem.work.rawValue, color: normalColor) + view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.work.rawValue, color: selectedColor) viewVC.loadURL = createLoadUrl(urlPath: ViewURL.work.rawValue) viewVC.naviTitle = getDisplayString(key: "WorkTitle", comment: "") viewVC.tabTitleKey = "WorkTitle" case ViewType.documents.rawValue: view.tabBarItem.title = getDisplayString(key: "DocumentsTitle", comment: "") - view.tabBarItem.image = createTabBarItem(imageName: BarItem.documents.rawValue) - view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.documents.rawValue) + view.tabBarItem.image = createTabBarItem(imageName: BarItem.documents.rawValue, color: normalColor) + view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.documents.rawValue, color: selectedColor) viewVC.loadURL = ViewURL.documents.rawValue viewVC.naviTitle = getDisplayString(key: "DocumentsTitle", comment: "") viewVC.tabTitleKey = "DocumentsTitle" case ViewType.search.rawValue: view.tabBarItem.title = getDisplayString(key: "SearchTitle", comment: "") - view.tabBarItem.image = createTabBarItem(imageName: BarItem.search.rawValue) - view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.search.rawValue) + view.tabBarItem.image = createTabBarItem(imageName: BarItem.search.rawValue, color: normalColor) + view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.search.rawValue, color: selectedColor) viewVC.loadURL = createLoadUrl(urlPath: ViewURL.search.rawValue) viewVC.naviTitle = getDisplayString(key: "SearchTitle", comment: "") viewVC.tabTitleKey = "SearchTitle" default: view.tabBarItem.title = getDisplayString(key: "HomeTitle", comment: "") - view.tabBarItem.image = createTabBarItem(imageName: BarItem.home.rawValue) - view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.home.rawValue) + view.tabBarItem.image = createTabBarItem(imageName: BarItem.home.rawValue, color: normalColor) + view.tabBarItem.selectedImage = createTabBarItem(imageName: SelectedBarItem.home.rawValue, color: selectedColor) viewVC.loadURL = createLoadUrl(urlPath: ViewURL.home.rawValue) viewVC.naviTitle = getDisplayString(key: "HomeTitle", comment: "") viewVC.tabTitleKey = "HomeTitle" } + + view.tabBarItem.setTitleTextAttributes([.foregroundColor: selectedColor], for: .selected) + view.tabBarItem.setTitleTextAttributes([.foregroundColor: selectedColor], for: .normal) return view } @@ -118,7 +124,7 @@ extension MainTabBarViewBuilderImpl { return Configuration.shared.awURL + "/" + Configuration.shared.awContextPath + urlPath } // tabBarItem 用イメージ生成 - private func createTabBarItem(imageName: String) -> UIImage { - return UIImage(named: imageName)!.resized(size: CGSize(width: 19, height: 19)) + private func createTabBarItem(imageName: String, color: UIColor) -> UIImage { + return UIImage(named: imageName)!.resized(size: CGSize(width: 19, height: 19)).brend(color: color)!.withRenderingMode(.alwaysOriginal) } }