2013-01-14 3 views
5

Sto provando a creare un visualizzatore di immagini che si comporti esattamente come l'App Foto di mele. Ma per ora mi interessa solo un singolo comportamento dell'immagine.UIScrollView con UIImageVelocità di rotazione centrata quando si ingrandisce?

Ho inserito UIImageView in UIScrollView ed è riuscito a gestire praticamente tutto a lato di una cosa, ovvero se eseguo l'ingrandimento di una porzione di immagine (ad esempio un'immagine di ritratto) e quindi ruoto il dispositivo in orizzontale la porzione sembra essere ruotata sopra l'angolo in alto a sinistra anziché al centro.

Lasciatemi provare ad illustrarlo. Questo è quello che ho adesso:

What I have

Questo è quello che vorrei per accadere:

What I want

Fondamentalmente Credo di sapere come avrei potuto farlo, ma sembra coinvolgere un un po 'più di codice che probabilmente merita. Forse mi manca qualche semplice proprietà che potrei semplicemente impostare per ottenere questo comportamento desiderato.

Qualche suggerimento, qualcuno?

+1

Hai provato a impostare il punto centrale sul punto centrale della vista sulla rotazione? Sembra anche un problema di ancoraggio per me. Assicurati che 'UIImageView' sia ancorato in alto * E * in basso. Spero possa aiutare! – msgambel

+0

Non ero a conoscenza del fatto che la proprietà del centro proverà ora. D'altra parte non riuscivo a capire come avrei ancorato UIImageView. Vedo solo che il livello UIImageView ha una proprietà anchorPoint che è un CGPoint, ma non sono sicuro che lo intendessi? –

+0

intendevo ancorarlo nel pennino. – msgambel

risposta

0
self.imageView.center = self.scrollView.center; 
+0

Dove lo metti? Ho provato alla fine di layoutSubViews ma funziona in modo scomodo e va bene solo se l'utente esegue lo zoom avanti nel punto morto (poiché layoutSubviews viene richiamato a ogni livello di zoom, in modo tale da disturbare l'utente persino a poter eseguire lo zoom da qualsiasi altra parte). Probabilmente non è il posto giusto per chiamarlo ... Inoltre forse imageView.center non dovrebbe essere impostato su scrollView center ma zoom region center? ... Non ho ancora provato quello ... Qualche suggerimento? –

+0

scrollViewDidFinishingZooming forse? Inoltre sì probabilmente vuoi centrarlo nella regione ingrandita. –

+0

provato. Non ha funzionato per qualche ragione ... Sembra un posto logico per dirla. Non so perché non funzioni ... –

0

impostare [imgView setContentMode: UIViewContentModeScaleAspectFit];