How to create a customised segment-like view which can be seen in Google Maps place description in Swift?

42 Views Asked by At

I want to create a customised segment-like view which can be seen in Google Maps place description which has sections like Overview, Description, etc. Unlike Google Maps, tapping on any of those should navigate to a UITableView section in the same view and not open a different view or VC. Sample: Google Maps place's description

1

There are 1 best solutions below

0
sayed abdo On

using this pod ScrollableSegmentedControl

@IBOutlet weak var segmentedControl: ScrollableSegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()

segmentedControl.segmentStyle = .textOnly
segmentedControl.insertSegment(withTitle: "Segment 1", image: #imageLiteral(resourceName: "segment-1"), at: 0)
segmentedControl.insertSegment(withTitle: "Segment 2", image: #imageLiteral(resourceName: "segment-2"), at: 1)
segmentedControl.insertSegment(withTitle: "Segment 3", image: #imageLiteral(resourceName: "segment-3"), at: 2)
segmentedControl.insertSegment(withTitle: "Segment 4", image: #imageLiteral(resourceName: "segment-4"), at: 3)
segmentedControl.insertSegment(withTitle: "Segment 5", image: #imageLiteral(resourceName: "segment-5"), at: 4)
segmentedControl.insertSegment(withTitle: "Segment 6", image: #imageLiteral(resourceName: "segment-6"), at: 5)
    
segmentedControl.underlineSelected = true
    
segmentedControl.addTarget(self, action: #selector(TableViewController.segmentSelected(sender:)), for: .valueChanged)

// change some colors 
segmentedControl.segmentContentColor = UIColor.white
segmentedControl.selectedSegmentContentColor = UIColor.yellow
segmentedControl.backgroundColor = UIColor.black

// Turn off all segments been fixed/equal width. 
// The width of each segment would be based on the text length and font size. 
segmentedControl.fixedSegmentWidth = false}

func segmentSelected(sender:ScrollableSegmentedControl) {
print("Segment at index \(sender.selectedSegmentIndex)  selected")}