The below code snippet in Swift demonstrates how to create a UISegmentedControl programmatically.
If you are interested in video lessons on how to write Unit tests and UI tests to test your Swift mobile app, check out this page: Unit Testing Swift Mobile App
The code example below is very simple but additionally to creating a UISegmentedControl programmatically, it also demonstrates how to:
- Add a UISegmentedControl as a Subview
- Add custom function which gets triggered when UISegmentedControl value is changed
- Change UISegmentedControl tint colour
- Change UISegmentedControl background colour
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let mySegmentedControl = UISegmentedControl (items: ["One","Two","Three"]) let xPostion:CGFloat = 10 let yPostion:CGFloat = 150 let elementWidth:CGFloat = 300 let elementHeight:CGFloat = 30 mySegmentedControl.frame = CGRect(x: xPostion, y: yPostion, width: elementWidth, height: elementHeight) // Make second segment selected mySegmentedControl.selectedSegmentIndex = 1 //Change text color of UISegmentedControl mySegmentedControl.tintColor = UIColor.yellow //Change UISegmentedControl background colour mySegmentedControl.backgroundColor = UIColor.black // Add function to handle Value Changed events mySegmentedControl.addTarget(self, action: #selector(self.segmentedValueChanged(_:)), for: .valueChanged) self.view.addSubview(mySegmentedControl) } @objc func segmentedValueChanged(_ sender:UISegmentedControl!) { print("Selected Segment Index is : \(sender.selectedSegmentIndex)") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
For more Swift code examples and tutorials, please check the Swift Code Examples page on this website.