Сделать сегмент сегментированного элемента управления невидимым - PullRequest
11 голосов
/ 21 ноября 2011

Можно ли сделать один сегмент сегментированного элемента управления невидимым?

Ответы [ 4 ]

15 голосов
/ 01 мая 2015

Вы не можете скрыть это, но вы можете сделать его ширину очень очень маленькой , которая сделает его невидимым для пользователя. Должно быть> 0, потому что 0 = автоматическая ширина.

[yourSegmentedControl setWidth:0.1 forSegmentAtIndex:1];

Чтобы быть в безопасности, также отключите его, чтобы уменьшить вероятность выбора до нуля.

[mapTypeSC setEnabled:NO forSegmentAtIndex:1];
13 голосов
/ 21 ноября 2011

Хотя кажется, что нет способа скрыть сегмент в элементе управления сегментом, вы можете удалить сегмент из элемента управления сегментом, используя метод removeSegmentAtIndex:animated:.Вам нужно либо insertSegmentWithImage:atIndex:animated:, либо insertSegmentWithTitle:atIndex:animated:, чтобы снова вставить сегмент.

Вместо того, чтобы скрывать / показывать сегмент, вы можете включить или отключить его, используяsetEnabled:forSegmentAtIndex: метод.

0 голосов
/ 04 сентября 2018

Да, попробуйте это, это работает для меня, Это только одна строка кода,

Цель C

 [self.segmentControl removeSegmentAtIndex:0 animated:NO];

Swift

 segmentControl.removeSegment(at: 0, animated: false)

Код удаляет 0 индексный сегмент и показывает только один невидимый сегмент.

Надеюсь, это поможет.

0 голосов
/ 21 ноября 2011

Если вам нужен только один сегмент, тогда зачем использовать управление сегментами, вы можете напрямую использовать кнопку ..

...