// UISegmentedControlExtensions.swift - Copyright 2024 SwifterSwift
|
|
#if canImport(UIKit) && !os(watchOS)
|
import UIKit
|
|
// MARK: - Properties
|
|
public extension UISegmentedControl {
|
/// SwifterSwift: Segments titles.
|
var segmentTitles: [String] {
|
get {
|
let range = 0..<numberOfSegments
|
return range.compactMap { titleForSegment(at: $0) }
|
}
|
set {
|
removeAllSegments()
|
for (index, title) in newValue.enumerated() {
|
insertSegment(withTitle: title, at: index, animated: false)
|
}
|
}
|
}
|
|
/// SwifterSwift: Segments images.
|
var segmentImages: [UIImage] {
|
get {
|
let range = 0..<numberOfSegments
|
return range.compactMap { imageForSegment(at: $0) }
|
}
|
set {
|
removeAllSegments()
|
for (index, image) in newValue.enumerated() {
|
insertSegment(with: image, at: index, animated: false)
|
}
|
}
|
}
|
}
|
|
#endif
|