Skip to content

Commit

Permalink
Refactoring Margin constraint ♻️
Browse files Browse the repository at this point in the history
  • Loading branch information
chicio committed Jan 29, 2021
1 parent cd3c085 commit c1b401d
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 15 deletions.
16 changes: 8 additions & 8 deletions Source/Constraint/MarginConstraintFactory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,33 @@ import Foundation
import UIKit

class MarginConstraintFactory {
static func leadingConstraint(target: UIView, parent: UIView?, value: CGFloat) -> NSLayoutConstraint {
static func leadingConstraint(views: ContraintViews, value: CGFloat) -> NSLayoutConstraint {
return MarginConstraintFactory.make(
views: ContraintViews(target: target, parent: parent),
views: views,
margin: .leading,
value: value
)
}

static func trailingConstraint(target: UIView, parent: UIView?, value: CGFloat) -> NSLayoutConstraint {
static func trailingConstraint(views: ContraintViews, value: CGFloat) -> NSLayoutConstraint {
return MarginConstraintFactory.make(
views: ContraintViews(target: target, parent: parent),
views: views,
margin: .trailing,
value: value
)
}

static func topConstraint(target: UIView, parent: UIView?, value: CGFloat) -> NSLayoutConstraint {
static func topConstraint(views: ContraintViews, value: CGFloat) -> NSLayoutConstraint {
return MarginConstraintFactory.make(
views: ContraintViews(target: target, parent: parent),
views: views,
margin: .top,
value: value
)
}

static func bottomConstraint(target: UIView, parent: UIView?, value: CGFloat) -> NSLayoutConstraint {
static func bottomConstraint(views: ContraintViews, value: CGFloat) -> NSLayoutConstraint {
return MarginConstraintFactory.make(
views: ContraintViews(target: target, parent: parent),
views: views,
margin: .bottom,
value: value
)
Expand Down
8 changes: 5 additions & 3 deletions Source/UI/Bar.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@ class Bar: UIView {
}

private func createConstraintsUsing(leading: CGFloat, trailing: CGFloat, height: CGFloat) -> [NSLayoutConstraint] {
leadingConstraint = MarginConstraintFactory.leadingConstraint(target: self, parent: superview, value: leading)
leadingConstraint = MarginConstraintFactory.leadingConstraint(
views: ContraintViews(target: self, parent: superview),
value: leading
)
trailingConstraint = MarginConstraintFactory.trailingConstraint(
target: self,
parent: superview,
views: ContraintViews(target: self, parent: superview),
value: -1.0 * trailing
)
heightConstraint = DimensionConstraintFactory.heightConstraint(target: self, value: height)
Expand Down
20 changes: 16 additions & 4 deletions Source/UI/Progress.swift
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,22 @@ class Progress: Gradient {
let backgroundImageView = createBackgroundUsing(image: image, edgeInset: edgeInset, corners: corners)
addSubview(backgroundImageView)
NSLayoutConstraint.activate([
MarginConstraintFactory.leadingConstraint(target: backgroundImageView, parent: self, value: 0.0),
MarginConstraintFactory.trailingConstraint(target: backgroundImageView, parent: self, value: 0.0),
MarginConstraintFactory.topConstraint(target: backgroundImageView, parent: self, value: 0.0),
MarginConstraintFactory.bottomConstraint(target: backgroundImageView, parent: self, value: 0.0)
MarginConstraintFactory.leadingConstraint(
views: ContraintViews(target: backgroundImageView, parent: self),
value: 0.0
),
MarginConstraintFactory.trailingConstraint(
views: ContraintViews(target: backgroundImageView, parent: self),
value: 0.0
),
MarginConstraintFactory.topConstraint(
views: ContraintViews(target: backgroundImageView, parent: self),
value: 0.0
),
MarginConstraintFactory.bottomConstraint(
views: ContraintViews(target: backgroundImageView, parent: self),
value: 0.0
)
])
}

Expand Down

0 comments on commit c1b401d

Please sign in to comment.