From 64637fbf938bdb2a06e8f5bdf6526f7a888c1fb6 Mon Sep 17 00:00:00 2001 From: David Norman Date: Thu, 19 Sep 2019 22:56:26 -0700 Subject: [PATCH] Code review comments --- .../UserInterfaceState.xcuserstate | Bin 0 -> 29094 bytes .../xcschemes/xcschememanagement.plist | 14 ++++++++++++++ HueBoo/Models/ColorSet.swift | 11 +++-------- HueBoo/RootViewController.swift | 8 ++++---- HueBooTests/RootInteractorTests.swift | 2 +- 5 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 HueBoo.xcodeproj/project.xcworkspace/xcuserdata/davidnorman.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 HueBoo.xcodeproj/xcuserdata/davidnorman.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/HueBoo.xcodeproj/project.xcworkspace/xcuserdata/davidnorman.xcuserdatad/UserInterfaceState.xcuserstate b/HueBoo.xcodeproj/project.xcworkspace/xcuserdata/davidnorman.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..76070b4e64f99ef014fd9f0292dcccab4a3e1707 GIT binary patch literal 29094 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 f3o5r(?yUT>^1JHR&dnkz{ + + + + SchemeUserState + + HueBoo.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/HueBoo/Models/ColorSet.swift b/HueBoo/Models/ColorSet.swift index e2805c7..9e6b09b 100644 --- a/HueBoo/Models/ColorSet.swift +++ b/HueBoo/Models/ColorSet.swift @@ -16,15 +16,10 @@ struct ColorSet: Equatable { let alpha: CGFloat init(initialColor: UIColor) { - var hue: CGFloat = 0 - var saturation: CGFloat = 0 - var brightness: CGFloat = 0 - var alpha: CGFloat = 1 + var hue, saturation, brightness, alpha: CGFloat + (hue, saturation, brightness, alpha) = (0,0,0,0) initialColor.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: &alpha) - self.hue = hue - self.saturation = saturation - self.brightness = brightness - self.alpha = alpha + self.init(hue: hue, saturation: saturation, brightness: brightness, alpha: alpha) } init(hue: CGFloat, saturation: CGFloat, brightness: CGFloat, alpha: CGFloat = 1) { diff --git a/HueBoo/RootViewController.swift b/HueBoo/RootViewController.swift index 891841d..5fc474c 100644 --- a/HueBoo/RootViewController.swift +++ b/HueBoo/RootViewController.swift @@ -60,7 +60,7 @@ class RootViewController: UIViewController, RootPresentable, RootCollectionViewL if Constants.getTextColor(from: color) == .white { statusBarStyle = .lightContent } else { - statusBarStyle = .default + statusBarStyle = .default // I'm not 100% sure this is doing what you expect it to do. This seems to hide the status bar content so while I'm swiping through the status bar appears to be flashing on and off. } UIView.animate(withDuration: 0.3) { @@ -71,13 +71,13 @@ class RootViewController: UIViewController, RootPresentable, RootCollectionViewL private func setupViews() { collectionView.listener = self - collectionView.backgroundColor = .red + collectionView.backgroundColor = .red // when I swipe back on the first cell I can see this. Might be better to use black as a default? view.addSubview(collectionView) NSLayoutConstraint.activate([ - collectionView.topAnchor.constraint(equalTo: view.topAnchor), - collectionView.bottomAnchor.constraint(equalTo: view.bottomAnchor), + collectionView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor), + collectionView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor), collectionView.leftAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leftAnchor), collectionView.rightAnchor.constraint(equalTo: view.safeAreaLayoutGuide.rightAnchor) ]) diff --git a/HueBooTests/RootInteractorTests.swift b/HueBooTests/RootInteractorTests.swift index 144a364..dfb6513 100644 --- a/HueBooTests/RootInteractorTests.swift +++ b/HueBooTests/RootInteractorTests.swift @@ -1,4 +1,4 @@ -// + // // RootInteractorTests.swift // HueBooTests //