Pregunta

¿Cuál es la mejor práctica para el establecimiento de factor de zoom de una imagen dentro de IKImageView través NSSlider?

I fue capaz de unirse un control deslizante o bien a zoom en o alejar acción de un IKImageView. Obviamente, lo que preferiría ver es un regulador único control de ambas acciones. Mejor, si la imagen se actualiza después de cada cambio de la corredera (de forma continua, incluso si un botón del ratón no se libera aún).

¿Fue útil?

Solución

Esta demostración explica muchas cosas: ImageKitDemo

En particular, este fragmento es lo que estaba buscando:

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

Otros consejos

La forma enlaces sería la de unirse tanto el factor de zoom de la vista de la imagen IK y el valor de la barra de desplazamiento para la misma propiedad de su controlador. Cuando el deslizador cambia el valor de la propiedad, se le notificará la vista de imagen, y saldrá a obtener el nuevo valor a partir de su controlador.

Una de las ventajas de esta forma es que se puede añadir más formas de acercarse y alejarse, y el valor en el deslizador no echarse a perder. Por ejemplo, si se añade IKImageView pinch-zoom (o si lo tiene ya, no tengo multi-touch en mi Mac), el usuario puede hacer zoom de esa manera y el deslizador se actualizará automáticamente. Eso no sucederá con la solución IBAction.

Otro ejemplo sería Acercar y Alejar comandos de menú (quizás con ⌘ + y ⌘- atajos de teclado) que envían mensajes de acción a su controlador. Su controlador respondería aumentando o disminuyendo el valor de la propiedad (utilizando un método de selección se implementa). Con enlaces, tanto en la vista de la imagen y el cursor se actualizará de forma gratuita. Sin Ataduras, que tendría que hablar de forma explícita tanto a la vista de la imagen y el deslizador, diciendo a uno de actualizar su factor de zoom y el otro para actualizar su deslizador.

Un tercer ejemplo podría ser un “factor de zoom: X%” pantalla en una esquina de la ventana. Con enlaces, esto se puede actualizar de forma gratuita, no importa cómo el usuario acerque la imagen: moviendo el deslizador, pellizcos / unpinching la imagen, o presionando un elemento de menú. Sin enlaces, esto sería otra cosa que tienes que hablar en su (al menos tres) los métodos de acción de cambio del zoom-valor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top