J'ai trouvé un moyen de le faire, même si je me sens encore son un peu un hack parce que Apple pourrait changer les choses dans les prochaines versions qui vont casser cette technique.
MKMapView a 2 sous-vues. L'un d'entre eux est un UIImageView qui contient l'image "Google" à des fins de protection des droits d'auteur.
Donc IB vous pouvez configurer votre propre UIImageView qui se trouve dans le coin inférieur gauche, et dans le code que vous pouvez définir son image à la même image que celle du UIImageView dans la vue de la carte:
-(void) getImage {
for(UIView *v in mapView.subviews) {
if([v isKindOfClass:[UIImageView class]]) {
NSLog(@"%@",v);
self.cpyView.image=((UIImageView *)v).image;
}
}
}
Maintenant, lorsque vous faites pivoter votre MKMapView, votre UIImageView ne sera pas pivoté.
Maintenant l'autre astuce ici est d'avoir le MKMapView incorporé dans une autre vue (viewForMap) (idée empruntée à Beginning iOS 4 par Wei-Meng Lee). Déposez un UIView dans IB et dimensionnez-le à la taille que vous voulez que la carte visible soit. Réglez-le pour découper les sous-vues dans IB.
Dans le code, vous allouerez] initWithFrame et MKMapView afin que MKMapView soit centré sur ce viewForMap, mais il est plus grand que lui.
Par exemple, si votre viewForMap est de 320, 372, faites ceci:
mapView=[[MKMapView alloc] initWithFrame:CGRectMake(-90,-64,500,500)];
mapView.mapType=MKMapTypeHybrid;
mapView.delegate=self;
[viewForMap addSubview:mapView];
Maintenant, vous pouvez faire pivoter votre carte mapView.transform=CGAffineTransformMakeRotation(-M_PI/2);
Votre UIImageView qui tient l'image "Google" ne sera pas faire pivoter afin qu'il reste visible. L'image "Google" à l'intérieur de MKMapView sera hors écran.
Hey Fraggle, avez-vous enfin envoyé votre application avec le logo déplacé? Est-ce que ça a traversé? Je suis dans une situation similaire en ce moment, je dois déplacer le logo de Google, mais je me demande si cela vaut la peine de le faire, ou si je devrais utiliser la carte ouverte tout de suite. – ayoy
Oui, je l'ai fait. Assurez-vous simplement que le logo Google s'affiche toujours au bon endroit. Donc, le logo Google n'est pas "déplacé", il semble toujours le même. La carte est cependant pivotée. – Fraggle