Is it possible to make one segment of a segmented control invisible?
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.
A segmented control is a linear set of two or more segments, each of which functions as a button. Within a segmented control, all segments are usually equal in width. Like buttons, segments can contain text or images. Segments can also have text labels beneath them (or beneath the control as a whole).
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];
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With