Comment créer des boutons radio et checkbox dans swift (iOS)?
Je développe une application qui permet de faire enquête. Ma mise en page est générée à partir de XML en fonction des questions.
J'ai besoin de créer des boutons radio (choix unique) et des cases à cocher (plusieurs réponses). Je n'ai pas trouve quelque chose d'utile pour swift.
Quelqu'un a une idée?
- Vous avez besoin de créer plusieurs boutons avec l'image de fond comme la Case de l'image ou un bouton radio à l'image...sur le clic d'un bouton, changer l'image comme image sélectionnée...doit avoir deux images, c'est à dire. l'un est sélectionné, un autre pour les non sélectionnés..
- Depuis Xcode/iOS ne fournissent pas de case à cocher/bouton radio , j'ai trop utiliser ce RJV suggéré.
- ouai, je l'ai essayé, il fonctionne.
Vous devez vous connecter pour publier un commentaire.
Pour les Boutons Radio et Cases à cocher il n'y a rien qui vient construit en.
Vous pouvez vous-même mettre en œuvre des Cases à cocher facilement. Vous pouvez définir une uncheckedImage pour votre bouton pour UIControlStateNormal et un checkedImage pour votre UIControlStateSelected. Maintenant appuie sur le bouton pour changer son image et alternent entre activée et désactivée image.
D'utiliser des boutons radio, vous devez garder un
Array
pour tous les boutons que vous voulez à se comporter comme des boutons radio. Chaque fois qu'un bouton est enfoncé, vous devez décocher toutes les autres boutons dans le tableau.Pour les boutons radio vous pouvez utiliser SSRadioButtonsController
Vous pouvez créer un objet de contrôleur et d'ajouter des boutons de tableau comme
Le principe de base est quelque chose comme ici.
Case
Vous pouvez créer votre propre contrôle de Case à cocher étendre UIButton avec Swift:
Puis l'ajouter à vos points de vue avec Interface Builder:
Boutons Radio
Boutons Radio peuvent être résolus d'une manière similaire.
Par exemple, le classique de la sélection du sexe de Femme - Homme:
Vous pouvez init vos boutons radio comme ceci:
Espère que cela aide.
func buttonClicked(sender: UIButton) { if sender == self { if isChecked == true { isChecked = false } else { isChecked = true } } }
au lieu de:func ButtonClicked(sender: UIButton) { if sender == self {isChecked = !isChecked} }
button.titleLabel.text
sendActions(for: .valueChanged)
lorsque la case à cocher change d'état, de sorte que toutes les cibles à l'écoute de l'événement en être averti.@objc
annotation à l'func buttonClicked( sender: UIButton)
méthodeDécouvrez DLRadioButton. Vous pouvez ajouter et personnaliser des boutons radio directement à partir de l'Interface Builder. Fonctionne également avec
Swift
parfaitement.Mise à jour: version
1.3.2
ajout de boutons carrés, également à l'amélioration de la performance.Mise à jour: version
1.4.4
ajouté plusieurs option de sélection, peut être utilisé comme case ainsi.Mise à jour: version
1.4.7
ajouté RTL support de la langue.multipleSelectionEnabled
eticonSquare
àYES
.DLRadioButton
devrait fonctionner quelle que soit vous le mettez dans un affichage tableau de cellules ou d'autresUIView
s.Il y a une très grande bibliothèque que vous pouvez utiliser pour cela (vous pouvez réellement utiliser cela à la place de
UISwitch
): https://github.com/Boris-Em/BEMCheckBoxInstallation est facile:
Il prévoit des cercles et des carrés de type cases à cocher
Et il fait aussi des animations:
Très simple case à cocher contrôle.
plus courte ios swift 4 version:
Étapes pour Créer un Bouton Radio
BasicStep : prendre Deux boutons. définir l'image pour les deux comme des sélectionnés et non sélectionnés.
qu'ajouter une action à la fois le bouton.
maintenant, lancez le code
1)Créer une variable :
2)Dans Le ViewDidLoad Définir :
3)Maintenant, Au Tap Sélectionné Action :
4)Ne code pour Décocher le Bouton
Bouton Radio est Prêt pour vous
Pour une case à cocher, vous n'avez pas besoin de sous-classe, les UIButton. Il a déjà le
isSelected
des biens pour les gérer.Ensuite dans la méthode d'action de la bascule c'est
isSelected
état.Vous pouvez simplement sous-classe UIButton et d'écrire votre propre code de dessin en fonction de vos besoins. J'ai mis en place un bouton radio comme celle d'android en utilisant le code suivant. Il peut être utilisé dans le storyboard ainsi.Voir l'exemple dans le dépôt Github
(Ex: Oui bouton de la balise de 10 et Pas de bouton -étiquette 20)
Des cases à cocher, il est en fait une solution intégrée dans la forme de UITableViewCell accessoires. Vous pouvez configurer votre forme comme un UITableView, dans lequel chaque cellule comme une option sélectionnable et l'utilisation
accessoryType
pour mettre une coche pour les éléments sélectionnés.Voici un pseudo-code exemple:
Boutons Radio, toutefois, ne nécessitent une implémentation personnalisée, voir les autres réponses.
La décision de cochant ou décochant la case à cocher bouton est quelque chose hors de la portée de la vue. Vue elle-même ne devrait prendre soin de dessiner les éléments, ne se prononçant pas sur l'état interne de l'. Je suggère la mise en œuvre est comme suit:
Il peut être utilisé avec Interface Builder ou par programmation. L'utilisation de la vue pourrait être comme dans l'exemple suivant: