| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- //
- // Created by phimage on 25/03/2017.
- // Copyright © 2017 IBAnimatable. All rights reserved.
- //
- import UIKit
- /// Protocol for designing slider image
- public protocol SliderImagesDesignable: class {
- /**
- * The thumb image when slider state is `normal`
- */
- var thumbImage: UIImage? { get set }
- /**
- * The thumb image when slider state is `highlighted`
- */
- var thumbHighlightedImage: UIImage? { get set }
- /**
- * The minimum track image when slider state is `normal`
- */
- var minimumTrackImage: UIImage? { get set }
- /**
- * The minimum track image when slider state is `highlighted`
- */
- var minimumTrackHighlightedImage: UIImage? { get set }
- /**
- * The maximum track image when slider state is `normal`
- */
- var maximumTrackImage: UIImage? { get set }
- /**
- * The maximum track image when slider state is `highlighted`
- */
- var maximumTrackHighlightedImage: UIImage? { get set }
- }
- public extension SliderImagesDesignable where Self: UISlider {
- func configureThumbImage() {
- let highlightedImage = thumbHighlightedImage ?? thumbImage
- setThumbImage(thumbImage, for: .normal)
- setThumbImage(highlightedImage, for: .highlighted)
- }
- func configureMinimumTrackImage() {
- let highlightedImage = minimumTrackHighlightedImage ?? minimumTrackImage
- setMinimumTrackImage(minimumTrackImage, for: .normal)
- setMinimumTrackImage(highlightedImage, for: .highlighted)
- }
- func configureMaximumTrackImage() {
- let highlightedImage = maximumTrackHighlightedImage ?? maximumTrackImage
- setMaximumTrackImage(maximumTrackImage, for: .normal)
- setMaximumTrackImage(highlightedImage, for: .highlighted)
- }
- }
|