Comment puis-je activer la sélection de plusieurs segments d'un UISegmentedControl?

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

  •  06-07-2019
  •  | 
  •  

Question

Disons que mon UISegmentedControl a 8 segments numérotés. Je souhaite que l'utilisateur puisse activer 2, 3 ou plusieurs d'entre eux à la fois. Les basculer. Essentiellement, comme un bit dans un octet. Est-ce possible? Je pense que c'est sur Mac OS X standard, mais je n'arrive pas à trouver le moyen de le faire dans le SDK de l'iPhone.

Si je dois simuler cela en plaçant des boutons dans une vue, existe-t-il un moyen de procéder comme suit:

  1. Arrondissez les angles de la vue pour qu'elle ressemble à la "barre". style UISegmentedControl?
  2. Utilisez les arrière-plans intégrés de la "barre". le style a sur les boutons?
  3. Attribuez aux boutons une ombre semblable à l'intégralité du "bar". le style a? (pas le texte)
Était-ce utile?

La solution

Cela n’est pas possible avec UIKit. Je vous recommande de créer un contrôle personnalisé ou un tableau de contrôles UISwitch , représentant chacune des options de votre UISegmentedControl.

Autres conseils

Il s'agit du meilleur contrôle personnalisé que j'ai trouvé qui permette de sélectionner plusieurs segments simultanément:

https://github.com/yonat/MultiSelectSegmentedControl

Celui-ci est une sous-classe de UISegmentedControl, ce qui est pratique. Je l'ai fourré ici:

https://github.com/stewartmacdonald/MultiSelectSegmentedControl

et ajouté quelques exemples de code au fichier Lisez-moi, ainsi qu’une méthode qui vous permet d’obtenir un tableau NSArray des titres de tous les segments sélectionnés.

Je pense que le moyen le plus simple est de créer votre propre contrôle segmenté avec UIButton.

Marco

Il semble y avoir un moyen de faire cela dans Xcode maintenant. Dans l'inspecteur d'attributs, il y a une section avec Segment, Titre, Image, Comportement. Les options de comportement sont "Activé". et "sélectionné". Vous pouvez sélectionner " Sélectionné " pour plusieurs segments.

Je vous recommande d'essayer https://github.com/tayhalla/THSegmentedControl . Il s'agit d'une sous-classe de UISegmentedControl , ce qui le rend parfaitement compatible avec le constructeur d'interface et tout.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top