diff --git a/GMStepper/GMStepper.swift b/GMStepper/GMStepper.swift index 0634259..b17d199 100644 --- a/GMStepper/GMStepper.swift +++ b/GMStepper/GMStepper.swift @@ -16,8 +16,15 @@ import UIKit value = min(maximumValue, max(minimumValue, value)) let isInteger = floor(value) == value - - if showIntegerIfDoubleIsInteger && isInteger { + + // + // If we have items, we will display them as steps + // + + if isInteger && stepValue == 1.0 && items.count > 0 { + label.text = items[Int(value)] + } + else if showIntegerIfDoubleIsInteger && isInteger { label.text = String(stringInterpolationSegment: Int(value)) } else { label.text = String(stringInterpolationSegment: value) @@ -225,6 +232,30 @@ import UIKit } } } + + + public var items : [String] = [] { + didSet { + let isInteger = floor(value) == value + + // + // If we have items, we will display them as steps + // + + if isInteger && stepValue == 1.0 && items.count > 0 { + + var value = Int(self.value) + + if value >= items.count { + value = items.count - 1 + self.value = Double(value) + } + else { + label.text = items[value] + } + } + } + } /// Timer used for autorepeat option var timer: Timer?