// // UISegmentedControl.swift // AutoCat // // Created by Selim Mustafaev on 06.06.2023. // Copyright © 2023 Selim Mustafaev. All rights reserved. // import UIKit extension UISegmentedControl { static func segments(titles: [String]) -> UISegmentedControl { let view = UISegmentedControl(items: titles) view.translatesAutoresizingMaskIntoConstraints = false return view } static func segments(images: [UIImage?]) -> UISegmentedControl { let view = UISegmentedControl(items: images.compactMap { $0 }) view.translatesAutoresizingMaskIntoConstraints = false return view } func onValueChanged(_ closure: @escaping (Int) -> Void) -> UISegmentedControl { addActionImpl(for: .valueChanged) { [weak self] in guard let index = self?.selectedSegmentIndex else { return } closure(index) } return self } func select(index: Int) -> UISegmentedControl { selectedSegmentIndex = index return self } }