1 votes

Implémentation de "scrubby sliders" en Cocoa ?

Comment pourrais-je mettre en œuvre quelque chose du type "curseur de défilement", comme dans Photoshop et d'autres applications de traitement d'images ?

Ils sont un peu difficiles à décrire En gros, vous avez une boîte de saisie numérique normale, mais vous pouvez cliquer et maintenir le bouton de la souris, et cela fonctionne comme un curseur (jusqu'à ce que vous relâchiez). Si vous cliquez dans la boîte, vous pouvez sélectionner du texte, éditer/coller/etc comme d'habitude.

Le site Documents sur Photoshop le décrire, et j'ai rassemblé une vidéo d'exemple rapide (un exemple des curseurs dans Shake )

Une autre mise en œuvre similaire serait la jog-wheel de Final Cut Pro, qui fonctionne de manière similaire, sans que la lecture numérique soit en dessous.

Je n'arrive pas à trouver de mention de leur mise en œuvre, bien qu'il existe probablement des noms alternatifs pour cela. Il s'agit d'une application Cocoa pour OS X 10.5.

Il est destiné à une application d'étalonnage des couleurs, où l'utilisateur peut avoir besoin d'effectuer des ajustements minuscules (0,001, par exemple), jusqu'à des ajustements énormes (disons, -100 +100) sur la même commande. Un curseur ordinaire n'est pas assez précis sur cette plage de valeurs.

Le copier-coller de valeurs dans la boîte serait une préoccupation secondaire par rapport au nettoyage des valeurs, et la configuration de Photoshop/Shake est très bonne. Le caractère non évident du contrôle est également peu préoccupant, car il ne s'agit pas d'une "application de bureau ordinaire".

4voto

Peter Hosey Points 66275

Je les ai rencontrés. Ils sont nuls, car ils empêchent l'utilisateur de glisser pour sélectionner le texte du numéro.

Une meilleure idée consisterait à placer sous le champ un curseur miniature qui s'agrandit en un curseur de taille normale lorsque l'utilisateur maintient le bouton de la souris enfoncé et qui se replie à sa taille miniature lorsque l'utilisateur relâche le bouton de la souris. De cette façon, le comportement de sélection est toujours disponible, mais vous fournissez également le curseur - et d'une manière plus évidente.

Il n'y a pas de classe intégrée dans Cocoa pour l'un ou l'autre. Vous devrez implémenter la vôtre.

1voto

mouviciel Points 36624

Je doute que cela existe dans le framework Cocoa. Autant que je m'en souvienne, il n'est pas mentionné dans le document Directives d'interface humaine d'Apple .

Vous pouvez en développer un vous-même en utilisant une vue personnalisée et en suivant les événements de la souris ( -mouseDown: , mouseUp: , -mouseDragged: ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X