servidor restaurarlo puedo puede porque para esta disponible despues descargar como apple app aplicaciones activar activacion uiscrollview zoom ios6 xcode4.5 ios

uiscrollview - puede - no puedo activar mi iphone despues de restaurarlo



utilizando iOS 6.0 SDK y compilando para iOS 5 El objetivo causa que UIScrollView setMinimumZoomScale falle cuando se ejecuta en el simulador iOS 5 (1)

me actualicé a Xcode 4.5 y comencé a usar iOS SDK 6.0:

Tengo una aplicación universal que se desarrolló con Xcode 4.4 y iOS SDK 5.1

y se ejecutó en todos los dispositivos y simuladores probados sin problemas técnicos.

con la esperanza de que siga funcionando en el iPhone 5, quería proporcionar la imagen de lanzamiento adecuada y dejarla funcionar.

muchas partes de la aplicación funcionan sin cambios, pero una parte no: una imagen que he colocado en UIScrollView no funciona. esto siempre ha funcionado previamente, pero no en el simulador iOS 6.

Sin embargo, hasta el verdadero meollo del problema: cuando fui a ejecutar en los simuladores iOS 5.0 o iOS 5.1, en mi registro de depuración, veo una excepción lanzada de la siguiente manera:

-[NSKeyValueMethodSetter setMaximumNumberOfTouches:]: unrecognized selector sent to instance 0x6ddab20

el rastreo de la pila muestra que el código que intenta hacer esta llamada es UIScrollView setMinimumZoomScale .

mi código para llamar a setMimimumZoomScale es el siguiente:

CGFloat widthScale = self.scrollView.bounds.size.width / self.image.size.width; CGFloat heightScale = self.scrollView.bounds.size.height / self.image.size.height; // just reset the zoom scales; leave center and everything else where possible self.scrollView.minimumZoomScale = MIN(1.0, MIN(widthScale, heightScale)); self.scrollView.maximumZoomScale = 4.0;

la excepción lanzada (y el bloqueo posterior) se producen en esa primera llamada a setMimimumZoomScale con el mensaje indicado anteriormente.

Supongo que Xcode 4.5 está usando el código para setMinimumZoomScale que las llamadas envían ese mensaje, que probablemente exista en la biblioteca para iOS 6, pero nunca lo hizo en iOS 5.

otros están viendo un problema similar?

Sin embargo, no he tocado mis archivos de .storyboard, por lo que todavía se configurarían para funcionar sin autoLayout.

¿Tengo que volver e instalar Xcode 4.4 junto a Xcode 4.5 para poder seguir permitiendo que se mantenga mi aplicación en funcionamiento?


respondiendo mi propia pregunta ...

la complejidad de mi pregunta original involucraba reconocedores de gestos adicionales.

en iOS 5.1 SDK (y algunos anteriores), fue posible agregar un reconocedor de gestos a UIScrollView y poder hacer que funcione junto con panGestureRecognizer y pinchGestureRecognizer que están integrados en UIScrollView.

en iOS 6.0 SDK, este comportamiento aparentemente ya no es compatible. la documentación relevante no prohíbe explícitamente el comportamiento, ya que define lo que el UIScrollView hará por toques que pueden o no estar relacionados con pan y pellizcar.

Debido a que una vista de desplazamiento no tiene barras de desplazamiento, debe saber si un toque indica un intento de desplazamiento frente a un intento de rastrear una subvista en el contenido. Para hacer esta determinación, intercepta temporalmente un evento de aterrizaje iniciando un temporizador y, antes de que el temporizador se dispare, verifica si el dedo que toca hace algún movimiento. Si el temporizador se dispara sin un cambio significativo de posición, la vista de desplazamiento envía eventos de seguimiento a la subvista tocada de la vista de contenido. Si el usuario arrastra el dedo lo suficiente antes de que transcurra el tiempo del temporizador, la vista de desplazamiento cancela cualquier seguimiento en la subvista y realiza el desplazamiento por sí mismo. Las subclases pueden anular los toquesShouldBegin: withEvent: inContentView :, pagingEnabled, y touchesShouldCancelInContentView: methods (que son llamados por la vista de desplazamiento) para afectar la forma en que la vista de desplazamiento maneja los gestos de desplazamiento.

Para rectificar el problema, tuve que asegurarme de que los reconocedores de gestos en el guión gráfico ya no sean parte de la colección asociada con la vista de desplazamiento, sino que los asocie con la vista de contenido de la vista de desplazamiento.

(en mi caso, para hacer esto, tuve que agregarlos manualmente usando addGestureRecognizer: para cada addGestureRecognizer: -reconocedor estoy interesado, ya que la vista de contenido es para imágenes que no se conocen en el tiempo del guión gráfico).