ti-enxame.com

Algum menu suspenso ou suspenso para iOS?

No meu aplicativo para iOS, preciso usar o menu suspenso ou suspenso. Não quero usar a folha de ação ou a exibição do selecionador.

Existe algum menu suspenso ou suspenso para iOS?

Obrigado.

22
user403015

Não, não existe isso no SDK do iOS e isso é por uma boa razão - esses elementos não são apenas bonitos, divertidos e úteis o suficiente ao atuar em uma tela sensível ao toque.

Considere usar UIPickerView ou UISegmentedControl em vez disso.

Mas se você insistir, verifique sites como Cocoa Controls para alguns derivados. Alguns deles são realmente bem feitos.

17
Till

Convém verificar a exibição do PullableView discutida em aqui

Esta é uma imagem de amostra com uma vista extraível do lado superior, inferior e esquerdo. O da parte inferior já está aberto.

sample app

10
Sergio

Não concordo que uma lista suspensa seja necessariamente ruim no iPad. O selecionador Apple é horrível. Mas tudo realmente depende do tipo e quantidade de dados que precisam ser exibidos.

Acabei de encontrar esta lista suspensa e ela tem um bom desempenho: http://blog.lemberg.co.uk/iphone-development/custom-dropdown-list/

8
No Grabbing

Realmente não vejo qual é o problema de usar um "menu suspenso", desde que seja grande o suficiente para usar. Eu criei uma que usa uma visualização de tabela, é muito mais rápida, fácil de usar e menos visualmente abusiva do que o selecionador padrão. Toda vez que vejo um desses selecionadores padrão, fico assustada e com uma aparência horrível e demorando muito para usar. Realmente não é preciso muito código, não sei por que mais pessoas não os usam.

Basicamente, o que você faz é criar um botão que se parece com uma lista suspensa e ativá-lo e deslizar em uma exibição de tabela quando o botão estiver ativado. Implemente os métodos regulares de delegação normalmente para lidar com a seleção de itens e deslize-o novamente.

Apenas certifique-se de colocar a exibição da tabela na frente de todo o resto para que não seja cortada ou oculta por outros elementos.

Depende do que você está escolhendo, ainda existem lugares onde não tenho certeza de como evitar o uso de um selecionador.

6
linuxfreakus

A folha de ação é basicamente uma lista suspensa, se você pensar bem. E se você continuar adicionando botões a um UIActionSheet, ele acabará se transformando em uma tabela. Então, basta pedir que seu botão chame uma UIActionSheet.

Tente adicionar 7 ou mais botões ao UIActionSheet e observe-o se transformar em uma lista. É conveniente. Esta foto pode ser útil para demonstrar o que quero dizer:

enter image description here

3
j2emanue

Você pode colocar uma tableview em um "popover". Popover é apenas para iPad.

enter image description here

Como comentei acima, essa construção é provavelmente o melhor que você pode fazer em uma tela de toque. Pense em um menu suspenso que requer rolagem . O comportamento padrão do navegador é clicar uma vez para abrir o menu; o segundo clique faz as duas seleciona e fecha o menu.

-

Mas você não pode ter isso exatamente em dispositivos touch, não sem algumas modificações. Como as telas sensíveis ao toque não têm foco, para rolar pela lista, você deve:

  • Adicione uma barra de rolagem ou qualquer outra coisa para evitar toques destinados a rolagem apenas executando o comportamento "selecionar e fechar" . As barras de rolagem são inconsistentes com as interfaces de tela de toque padrão.
  • Para exigir algum tipo de comportamento de pressionar e segurar para executar o comportamento selecionar e fechar que é irritante e também fora do padrão. Os usuários esperam que os toques sejam selecionados imediatamente, para não serem pressionados.
  • OU coloque um botão OK no canto superior direito para fechar a janela, como Apple fez nessa Popover mostrada acima.

Veja todos os controles do iOS aqui

2
bobobobo

Use a tableview como sugestão do KartikArora e em combinação com o controlador de popover para iPad.

2
user523234

Talvez uma popover é o que você quer ..

WYPopoverController

https://github.com/nicolaschengdev/WYPopoverController

enter image description here

enter image description here

1
keithics

Não, não existe isso no SDK do iOS, mas você pode usar a exibição de tabela como uma lista suspensa. Para isso, é necessário ajustar o quadro da exibição de tabela e exibi-lo como uma lista suspensa.

1
Kartik