@@ -16,8 +16,15 @@ import UIKit
1616 value = min(maximumValue, max(minimumValue, value))
1717
1818 let isInteger = floor(value) == value
19−
20− if showIntegerIfDoubleIsInteger && isInteger {
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+ }
27+ else if showIntegerIfDoubleIsInteger && isInteger {
2128 label.text = String(stringInterpolationSegment: Int(value))
2229 } else {
2330 label.text = String(stringInterpolationSegment: value)
@@ -225,6 +232,30 @@ import UIKit
225232 }
226233 }
227234 }
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+ }
228259
229260 /// Timer used for autorepeat option
230261 var timer: Timer?