2012-04-05 17 views

risposta

7

In una vista il controller come un UINavigationController crea un MKMapView con un frame delle dimensioni della metà superiore della vista e lo aggiunge come sottoview del controller di visualizzazione. Quindi creerei un UIToolbar per tenere i pulsanti e rendere la parte superiore del frame line up con il fondo di MKMapView. Infine crea un UITableView con la sua cornice appena sotto gli altri (assicurati di collegare i suoi delegati).

Quindi assegnare il bersaglio della vostra UIBarButtonItem che fa la mappa andare a schermo intero per un metodo che anima le cornici di tutte e tre le viste come questo:

[UIView animateWithDuration:0.24 
         delay:0.0 
        options:UIViewAnimationCurveEaseOut 
       animations:(void (^)(void)) ^{ 
        self.toolbar.frame = CGRectMake(0, MAP_HEIGHT_FULLSCREEN, 320, TOOLBAR_HEIGHT); 
        self.mapView.frame = CGRectMake(0,0,320,MAP_HEIGHT_FULLSCREEN); 
        self.tableView.frame = CGRectMake(0, MAP_HEIGHT_FULLSCREEN+TOOLBAR_HEIGHT, 320, MAP_HEIGHT_FULLSCREEN-MAP_HEIGHT); 
       } 
       completion:^ (BOOL finished){} 
]; 
+0

Wow grazie! L'ho già implementato e sembra davvero fantastico! – sergiocg90

+0

@ SergioCalvoGonzález Prego. Se la mia risposta ti ha aiutato a non dimenticare di votare. –

+0

scusate, ma non posso ancora votare ... – sergiocg90

1

Creare entrambe le viste come si sta pianificando, Con un clic, modificare il riquadro di una vista per adattarlo a tutto schermo, se si fa clic sull'altro pulsante, fare la stessa cosa con l'altra vista.

+0

vuoi dire la creazione di due viewcontrollers? O nella stessa viewController implementare entrambi e cambiare la cornice quando viene premuto un pulsante? – sergiocg90

+1

1 viewcontroller. 2 visualizzazioni Cambia i frame delle viste. –

Problemi correlati