Make a segment of a segmented control invisible
Though it seems there is no way to hide a segment in a segment control, you could remove a segment from the segment control using removeSegmentAtIndex:animated:
method. You need either insertSegmentWithImage:atIndex:animated:
or
insertSegmentWithTitle:atIndex:animated:
method to insert the segment again.
Instead of hiding/showing a segment you could consider enabling/disabling it using setEnabled:forSegmentAtIndex:
method.
You can't hide it but you can make its width very very small which will make it invisible for the user. It has to be > 0 because 0 = automatic width.
[yourSegmentedControl setWidth:0.1 forSegmentAtIndex:1];
To be in the safe side, also disable it to reduce the chance of selection to zero.
[mapTypeSC setEnabled:NO forSegmentAtIndex:1];