Ainsi, un UISlider fonctionne très bien pour changer/choisir des valeurs, mais cela ne semble pas très bien. Ce que je voudrais mettre en œuvre ressemble plus à un cadran tournant horizontalement. J'ai déjà tous les graphiques dont j'ai besoin et j'ai déjà implémenté la vue déroulante pour faire glisser mon image à gauche et à droite. Le problème à ce stade est que unlick dans un UISlider où je peux simplement appeler slider.value
pour obtenir sa valeur, je n'ai aucune idée comment définir une plage de valeurs (max et min) et comment obtenir la valeur spécifique d'un UIScrollView en cours de défilement.Comment utiliser UIScrollView pour modifier des valeurs, comme un UISlider?
Répondre
Je dois admettre que je ne suis pas sûr à 100% de la façon dont vous utilisez une scrollview comme curseur, mais vous pouvez utiliser la propriété contentOffset pour obtenir "Le point où l'origine de la vue de contenu est décalée par rapport à l'origine de la vue de défilement. "
Vous aurez besoin de faire quelques calculs pour transformer cela en la valeur que vous voulez, mais c'est simple. Supposons que votre vue de défilement soit horizontale et que vous puissiez faire défiler jusqu'à 400 pixels. C'est-à-dire, si contentOffset est 0 alors vous êtes au début et si contentOffset est 400px alors vous êtes à la fin. La façon dont vous avez utilisé le scrollview dictera exactement comment vous travaillez, si vous êtes désespéré alors vous pouvez simplement imprimer la valeur de contentOffset par programme et observer la gamme empiriquement.
Dans ce cas, vous pouvez obtenir la proportion de la distance à travers le scrollview vous êtes à par quelque chose comme:
CGFloat proportionOffset = scrollView.contentOffset/400.0f;
Si vous souhaitez ensuite modéliser la gamme [startX, EndX], puis travailler à la sortie :
CGFloat offset = startX + proportionOffset * (endX - startX);
proportionOffset se termine dans la plage de 0 à 1, à 0 lorsque contentOffset est 0 et à 1 lorsque contentOffset est 400. Si, par exemple, est startX 15 et 35 EndX est alors EndX - startX est 20. Si vous multipliez un nombre compris entre 0 et 1 par 20, vous obtenez un nombre compris entre 0 et 20. Cela C'est à quelle distance de votre gamme vous voulez être. Mais votre plage ne commence pas nécessairement à 0, vous devez donc ajouter la valeur de startX. Pour des termes d'efficacité, il est judicieux de vous définir en tant que délégué de la scrollview et de vérifier le nouveau contentOffset uniquement lorsque vous recevez un scrollViewDidScroll :. Sinon, vous faites beaucoup d'interrogations qui ne sont tout simplement pas nécessaires et, au pire, entravent gravement la capacité du processeur à dormir (et donc à réduire la chaleur et à économiser la batterie).
- 1. prédéterminateurs uislider valeurs
- 2. Définition des graduations pour UISlider
- 3. infini UIScrollView pour l'application comme tableau blanc
- 4. Comment ajouter un observateur sur un UISlider
- 5. Comment personnaliser UISlider?
- 6. Modifier le facteur d'échelle dans UIScrollView
- 7. Comment utiliser le glisser-déposer dans un UIScrollView
- 8. uislider: bouton comme arrière-plan, barre comme premier plan - comme un sidewindow d'une voiture?
- 9. Comment puis-je faire un UISlider vertical?
- 10. UIScrollView modifier les pages après l'animation
- 11. Comment utiliser XSLT pour créer des valeurs distinctes
- 12. Comment utiliser regex pour extraire des valeurs d'une chaîne. (PHP)
- 13. Comment utiliser __call pour renvoyer dynamiquement des valeurs de propriété
- 14. comment utiliser libxml2 pour modifier un fichier xml existant?
- 15. UISlider expéditeur valuechanged
- 16. Comment utiliser UIScrollView avec une image complexe
- 17. Comment utiliser un UIScrollView dans une application Multiview?
- 18. UISlider pour représenter le spectre de couleurs
- 19. Comment utiliser datareader avec des valeurs nulles
- 20. Utiliser UISider pour générer une échelle logarithmique de valeurs
- 21. UISlider et temps réel
- 22. Modifier XPath pour retourner la deuxième des deux valeurs
- 23. Comment utiliser le DOM pour modifier cela?
- 24. Comment présenter un UIScrollView Modaly
- 25. ajouter/supprimer/modifier des valeurs dans "default.properties"
- 26. UIslider augmenter 10 par 10
- 27. Incréments UISlider
- 28. Sync Volume rocker avec un UISlider
- 29. Un UIControl spécifique basé sur UISlider pour iPhone
- 30. Comment modifier les valeurs NULL pour les chaînes vides?
merci, je vais donner un coup de feu, mais ça ressemble à ce dont j'avais besoin – cgossain