on master help sign in
Added ability to set items to display in label
f52eb04Dal Rupnik
GMStepper/GMStepper.swift+33−2
@@ -16,8 +16,15 @@ import UIKit
16 value = min(maximumValue, max(minimumValue, value))
16 value = min(maximumValue, max(minimumValue, value))
17
17
18 let isInteger = floor(value) == value
18 let isInteger = floor(value) == value
19−
19+
20+ //
21+ // If we have items, we will display them as steps
22+ //
23+
24+ if isInteger && stepValue == 1.0 && items.count > 0 {
25+ label.text = items[Int(value)]
26+ }
20− if showIntegerIfDoubleIsInteger && isInteger {
27+ else if showIntegerIfDoubleIsInteger && isInteger {
21 label.text = String(stringInterpolationSegment: Int(value))
28 label.text = String(stringInterpolationSegment: Int(value))
22 } else {
29 } else {
23 label.text = String(stringInterpolationSegment: value)
30 label.text = String(stringInterpolationSegment: value)
@@ -225,6 +232,30 @@ import UIKit
225 }
232 }
226 }
233 }
227 }
234 }
235+
236+
237+ public var items : [String] = [] {
238+ didSet {
239+ let isInteger = floor(value) == value
240+
241+ //
242+ // If we have items, we will display them as steps
243+ //
244+
245+ if isInteger && stepValue == 1.0 && items.count > 0 {
246+
247+ var value = Int(self.value)
248+
249+ if value >= items.count {
250+ value = items.count - 1
251+ self.value = Double(value)
252+ }
253+ else {
254+ label.text = items[value]
255+ }
256+ }
257+ }
258+ }
228
259
229 /// Timer used for autorepeat option
260 /// Timer used for autorepeat option
230 var timer: Timer?
261 var timer: Timer?