2012-06-29 5 views
6

Un gruppo di persone è interessato all'implementazione della transizione modale della pagina arricciata in iOS come quella trovata nell'app Maps nativa - vedere here, here e here - tuttavia la domanda non sembra hanno avuto risposta completa Quindi:Implementazione delle interazioni dei gesti per la pagina di stile di Google Maps

E 'possibile visualizzare un modal di arricciatura pagina sotto una vista principale come avviene attualmente in Maps su iOS 6? Desidero implementare i passaggi tramite "arricciare" la vista dall'alto indietro con un dito, dando l'impressione di un'interazione diretta con il ricciolo, come nel caso di iBooks nelle stesse versioni di iOS.

L'implementazione del seguito stesso (come in una transizione a ricciolo parziale) non è il problema - l'aggiunta dell'interazione gestuale (con il peeling parziale dinamico) lo è.

+1

hai provato con UIPageViewController? Penso che questo consenta l'interazione diretta. – Felix

+0

Si può usare UIPageViewController per mostrare una modale come nelle mappe? – NSTJ

+0

No, credo sia difficile riprodurre l'esatto comportamento dell'arricciatura nell'app delle mappe. Non so come raggiungere la posizione di arricciatura fissa. – Felix

risposta

4

Questo pezzo di codice farà il trucco: XBPageCurl

+0

Bel lavoro! Sono su un altro progetto in questo momento, ma lo verificherò il prima possibile. – NSTJ

0

non credo che avete bisogno di un OpenGL ES per arricciare il mapView come in iOS 5. Si può solo ottenere che nel QuartzCore framework sé. Si può vedere il mio codice come ho detto here e ho anche rivisto che il codice e provare questo

- (void)mapCurl { 
    [UIView animateWithDuration:1.0 
        animations:^{ 
         CATransition *animation = [CATransition animation]; 
         [animation setDuration:0.7]; 
         [animation setTimingFunction:[CAMediaTimingFunction functionWithName:@"default"]]; 
         animation.fillMode = kCAFillModeForwards; 
         [animation setRemovedOnCompletion:NO]; 
         // For curl and uncurl the animation here.. 
         if (!_isCurled) { 
          animation.endProgress = 0.65; 
          animation.type = @"pageCurl"; 
          [_locationMapView.layer addAnimation:animation forKey:@"pageCurlAnimation"]; 
          // _backView is a view behind the mapView 
          [_locationMapView addSubview:_backView];         
         }else { 
          animation.startProgress = 0.35; 
          animation.type = @"pageUnCurl"; 
          [_locationMapView.layer addAnimation:animation forKey:@"pageUnCurlAnimation"]; 
          // _backView is a view behind the mapView 
          [_backView removeFromSuperview]; 
         } 
        } 
    ];      
    _isCurled = (!_isCurled); 
} 
+0

il mio male dovrei aver appena detto iOS 6. Non è il modal di arricciatura pagina che sto andando, è la possibilità di sollevare la vista mappa con un gesto pan, come il modo in cui le impostazioni delle mappe sono accessibili in iOS 6. – NSTJ

Problemi correlati