Question

Quelle est la meilleure pratique pour la mise en facteur de zoom d'une image dans IKImageView via NSSlider?

Je suis capable de lier un curseur soit à zoom ou effectuer un zoom arrière action d'un IKImageView. De toute évidence, ce que je préfère voir un seul curseur contrôlant ces deux actions. Best, si l'image est mise à jour après chaque changement du curseur (en continu, même si un bouton de la souris est pas encore sorti).

Était-ce utile?

La solution

Cette démo explique beaucoup: ImageKitDemo

cet extrait est ce que je En particulier, je cherche:

- (IBAction) zoomSliderDidChange:(id)sender
{
    [addProductPhotoImageView setZoomFactor:[sender floatValue]];
}

Autres conseils

La façon Manchettes serait de lier à la fois le facteur de zoom de l'affichage de l'image IK et la valeur du curseur vers la même propriété de votre contrôleur. Lorsque le curseur change la valeur de la propriété, la vue de l'image sera informé, et aller chercher la nouvelle valeur de votre contrôleur.

L'un des avantages de cette façon est que vous pouvez ajouter d'autres façons de zoomer dans et hors et la valeur du curseur ne rassis. Pour un exemple, si IKImageView ajoute pincement zooming (ou si elle l'a déjà je n'ai pas multi-touch sur mon Mac), l'utilisateur peut zoomer cette façon et le curseur se mettra à jour automatiquement. Cela ne se produira pas avec la solution IBAction.

Un autre exemple serait Zoom avant et Zoom arrière commandes de menu (peut-être avec ⌘ + et ⌘- raccourcis clavier) qui envoient des messages d'action à votre contrôleur. Votre contrôleur répondrait en augmentant ou en diminuant la valeur de la propriété (en utilisant une méthode setter, il met en œuvre). Avec Manchettes, à la fois le point de vue de l'image et le curseur mettra à jour gratuitement. Sans Manchettes, vous devez parler explicitement à la fois le point de vue de l'image et le curseur, indiquant une mise à jour de son facteur de zoom et l'autre pour mettre à jour son curseur.

Un troisième exemple serait un « facteur Zoom: X% » affichage dans un coin de votre fenêtre. Avec Manchettes, cela peut mettre à jour gratuitement, peu importe la façon dont l'utilisateur effectue un zoom de l'image: déplacer le pouce curseur, pincement / unpinching l'image, ou en appuyant sur un élément de menu. Sans Manchettes, ce serait encore une autre chose que vous devez parler dans votre (au moins trois) changement du zoom valeur des méthodes d'action.

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