In iOS 6/7, I have used UISegmentedControl with background images to create an effect like so:
UISegmentedControl
Just in case, in Swift that would be (UPD for Swift 4)
segmentedControl.setBackgroundImage(image, forState: .selected, barMetrics:.Default)
segmentedControl.setBackgroundImage(image, forState: .highlighted, barMetrics:.Default)