Como posso permitir que vários segmentos de um UISegmentedControl para ser selecionado?

StackOverflow https://stackoverflow.com/questions/1029570

  •  06-07-2019
  •  | 
  •  

Pergunta

Vamos dizer que meu UISegmentedControl tem 8 segmentos numerados. Eu gostaria que o usuário seja capaz de transformar em 2, 3, ou mais de uma vez. Alternando-los. Essencialmente como um bits num byte. Isso é possível? Eu acredito que é em regulares Mac OS X, mas eu não consigo encontrar uma maneira de fazê-lo no iPhone SDK.

Se eu tiver para simular isso colocando botões em um ponto de vista, existe alguma maneira de fazer o seguinte:

  1. Round os cantos da vista para que ele se parece com o "bar" UISegmentedControl estilo?
  2. Use o built-in fundos do estilo "bar" tem sobre os botões?
  3. Dar os botões de uma sombra como se todo o "bar" estilo tem? (Não o texto)
Foi útil?

Solução

Isto não é possível usando UIKit. Eu recomendaria criando um controle personalizado, ou uma matriz de controles UISwitch, representando cada uma das opções em sua UISegmentedControl.

Outras dicas

Este é o melhor controle personalizado Descobri que permite que vários segmentos a ser selecionado simultaneamente:

https://github.com/yonat/MultiSelectSegmentedControl

Esta é uma subclasse de UISegmentedControl, que é conveniente. Eu bifurcada-lo aqui:

https://github.com/stewartmacdonald/MultiSelectSegmentedControl

e acrescentou alguns exemplos de código para o ReadMe e acrescentou um método que permite que você obtenha um NSArray dos títulos de todos os segmentos selecionados.

Eu acho que a maneira mais simples é criar seu próprio segmentedcontrol com UIButton.

Marco

Não parece ser uma maneira de fazer isso no XCode agora. No Atributos Inspector, há uma seção com o segmento, Título, Imagem, Comportamento. As opções de comportamento são "Ativado" e "Selecionado". Você pode selecte "Selecionado" para vários segmentos.

Eu recomendo que você tente https://github.com/tayhalla/THSegmentedControl
é uma subclasse real de UISegmentedControl por isso se encaixa muito bem com o construtor de interface e tudo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top