diff --git a/Example/OpenSourceController/ViewController.swift b/Example/OpenSourceController/ViewController.swift index db6db7a..3486190 100644 --- a/Example/OpenSourceController/ViewController.swift +++ b/Example/OpenSourceController/ViewController.swift @@ -31,7 +31,7 @@ class ViewController: UIViewController { let openSourceVC = OpenSourceController() // Apply somre customisation if you want ! - self.controllerCustomUI(controller: openSourceVC) + //self.controllerCustomUI(openSourceVC: openSourceVC) // Init with LicenceFile object openSourceVC.licences = [LicenceFile(title: "FacebookImagePicker", @@ -47,26 +47,29 @@ class ViewController: UIViewController { // Customization - fileprivate func controllerCustomUI(controller: OpenSourceController) { + fileprivate func controllerCustomUI(openSourceVC: OpenSourceController) { // Navigation bar title - controller.config.title = "MyCustomTitle" + openSourceVC.config.title = "MyCustomTitle" // Navigation bar tint color - controller.config.uiConfig.barTintColor = UIColor.red + openSourceVC.config.uiConfig.barTintColor = UIColor.red // Close button color - controller.config.uiConfig.closeButtonColor = UIColor.white + openSourceVC.config.uiConfig.closeButtonColor = UIColor.white // BackgroundColor - controller.config.uiConfig.backgroundColor = UIColor.red.withAlphaComponent(0.6) + openSourceVC.config.uiConfig.backgroundColor = UIColor.red.withAlphaComponent(0.6) // Licence text color - controller.config.uiConfig.licenceTextColor = UIColor.white + openSourceVC.config.uiConfig.licenceTextColor = UIColor.white // Navigation bar title color - controller.config.uiConfig.titleColor = UIColor.white + openSourceVC.config.uiConfig.titleColor = UIColor.white // Licence cell background color - controller.config.uiConfig.licenceBackgroundColor = UIColor.red + openSourceVC.config.uiConfig.licenceBackgroundColor = UIColor.red + + // Verbose mode + openSourceVC.config.verbose = true } } diff --git a/OpenSourceController/Classes/Controller/OpenSourceViewController.swift b/OpenSourceController/Classes/Controller/OpenSourceViewController.swift index 0daebca..8a24038 100644 --- a/OpenSourceController/Classes/Controller/OpenSourceViewController.swift +++ b/OpenSourceController/Classes/Controller/OpenSourceViewController.swift @@ -57,7 +57,8 @@ class OpenSourceViewController: UITableViewController { fileprivate func prepareLicences() { if let licences = self.licences { self.startLoading() - LicenceDownloader.downloadLicences(licences: licences) { () in + LicenceDownloader.downloadLicences(licences: licences, + config: self.config) { () in // Update licences self.downloadedLicence = self.licences } diff --git a/OpenSourceController/Classes/Model/LicenceDownloader.swift b/OpenSourceController/Classes/Model/LicenceDownloader.swift index faf8264..a34ebb9 100644 --- a/OpenSourceController/Classes/Model/LicenceDownloader.swift +++ b/OpenSourceController/Classes/Model/LicenceDownloader.swift @@ -16,6 +16,7 @@ class LicenceDownloader: NSObject { /// - licences: array which contains licence model model /// - completion: end downloading completion class func downloadLicences(licences: [LicenceFile], + config: OpenSourceControllerConfig, completion: @escaping () -> Void) { // Number of licences let licenceCount = licences.count @@ -25,7 +26,7 @@ class LicenceDownloader: NSObject { // Download licence's detail for every lience for licence in licences { - licence.downloadLicenceDetail(completion: { () in + licence.downloadLicenceDetail(config: config, completion: { () in alreadyDownloaded += 1 // If this is the last licence, perfom completion diff --git a/OpenSourceController/Classes/Model/LicenceFile.swift b/OpenSourceController/Classes/Model/LicenceFile.swift index 0e21e00..0911b08 100644 --- a/OpenSourceController/Classes/Model/LicenceFile.swift +++ b/OpenSourceController/Classes/Model/LicenceFile.swift @@ -38,7 +38,8 @@ public class LicenceFile: NSObject { /// Download licence detail /// /// - Parameter completion: end of download handler - func downloadLicenceDetail(completion: @escaping (Void) -> Void) { + func downloadLicenceDetail(config: OpenSourceControllerConfig, + completion: @escaping (Void) -> Void) { if let url = URL(string: self.url) { let task = URLSession.shared.dataTask(with: url) { (data, _, _) in if let data = data, @@ -48,7 +49,9 @@ public class LicenceFile: NSObject { self.detail = html // Log - print("Licence for \(self.title ?? "") downloaded with success.") + if config.verbose { + print("Licence for \(self.title ?? "") downloaded with success.") + } } completion() } diff --git a/OpenSourceController/Classes/Model/OpenSourceControllerConfig.swift b/OpenSourceController/Classes/Model/OpenSourceControllerConfig.swift index 1caae08..394fbcb 100644 --- a/OpenSourceController/Classes/Model/OpenSourceControllerConfig.swift +++ b/OpenSourceController/Classes/Model/OpenSourceControllerConfig.swift @@ -33,6 +33,9 @@ public struct OpenSourceControllerConfig { /// Will be applied to the navigation bar title public var title: String = "Tiers library" + // Verbose mode for print log when licence are downloaded + public var verbose: Bool = false + /// UI-specific configuration. public var uiConfig = UIConfig() } diff --git a/README.md b/README.md index 79f7b9f..e3e2f6e 100644 --- a/README.md +++ b/README.md @@ -81,25 +81,28 @@ You can apply some customisation. To do it you can use the OpenSourceControllerC ```swift // Navigation bar title -controller.config.title = "MyCustomTitle" +openSourceVC.config.title = "MyCustomTitle" // Navigation bar tint color -controller.config.uiConfig.barTintColor = UIColor.red +openSourceVC.config.uiConfig.barTintColor = UIColor.red // Close button color -controller.config.uiConfig.closeButtonColor = UIColor.white +openSourceVC.config.uiConfig.closeButtonColor = UIColor.white // BackgroundColor -controller.config.uiConfig.backgroundColor = UIColor.red.withAlphaComponent(0.6) +openSourceVC.config.uiConfig.backgroundColor = UIColor.red.withAlphaComponent(0.6) // Licence text color -controller.config.uiConfig.licenceTextColor = UIColor.white +openSourceVC.config.uiConfig.licenceTextColor = UIColor.white // Navigation bar title color -controller.config.uiConfig.titleColor = UIColor.white +openSourceVC.config.uiConfig.titleColor = UIColor.white // Licence cell background color -controller.config.uiConfig.licenceBackgroundColor = UIColor.red +openSourceVC.config.uiConfig.licenceBackgroundColor = UIColor.red + +// Verbose mode +openSourceVC.config.verbose = true ``` ## Translation