2016-06-09 1 views
0

J'ai rencontré un problème concernant UISegmentedControl et UIScrollView. Dans mon projet, l'exigence est d'ajouter 7 segments en UISegmentedControl et le défilement devrait être fait en mode ignorer horizontalement pour sélectionner tous les 7 segments disponibles. Aidez-moi s'il vous plaît à résoudre ce problème.Défilement horizontal pour UISegmentedControll

Merci à l'avance.

+0

Ne pas utiliser un segment, mais une vue scrollview ou d'une collection? – CW0007007

+0

Essayez ceci: https://github.com/HeshamMegid/HMSegmentedControl – Nishant

+0

Merci Nishant, ça a marché pour moi. – prasad

Répondre

2

Un contrôle segmenté système ne peut pas faire cela. Vous devrez utiliser une bibliothèque tierce ou écrire la vôtre. @Nishant vous a donné un lien vers un dépôt de github dans son commentaire.

0

Vous avez donc besoin de quelques étapes:

  • jeu défilement vue content size à la largeur: largeur de page * nombre de pages, la hauteur;
  • gérer scrollView:didScroll et calculer la position actuelle de défilement et modifier le contrôle segmenté sélectionné;
  • gérer scrollViewDidEndDecelerating: et gérer le cas lorsque le défilement se termine au milieu de la page et déplacer contentOffset pour le début de la page (décider lequel);
  • poignée segmentedControl robinet et setContentOffset: animés pour faire défiler la page pour sélectionnée