From 9631af7ef347f3f0d088b6692621898c7e5c152a Mon Sep 17 00:00:00 2001 From: Gk40002148 Date: Fri, 13 May 2022 10:19:00 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=BF=E3=83=96=E3=82=A2=E3=82=A4=E3=82=B3?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E9=81=B8=E6=8A=9E=E6=99=82=E3=81=AE=E8=89=B2?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common/Extension/UIImageExtensions.swift | 14 +++++++++ .../Main/Builder/MainTabBarViewBuilder.swift | 30 +++++++++++-------- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/AgileWorks/AgileWorks/Common/Extension/UIImageExtensions.swift b/AgileWorks/AgileWorks/Common/Extension/UIImageExtensions.swift index 74d0bbb..9c86815 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 5df1738..2db8afd 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) } } -- GitLab