我在半透明黑色导航,状态和搜索以及工具栏下的导航控制器中有一个地图视图。
地图的实际高度包括这些条形下方的区域。
+ 左侧附件按钮使地图中心位于Pin。
左图是在地图以针脚坐标为中心之前。
正确的是当地图以引脚坐标为中心时。
问题是中心应该是可见地图区域的中心,而不是整个地图区域。 (这会导致图钉不出现在地图的中心。
我可以做一些偏移或边界设置,以便Map View正确居中吗?
答案 0 :(得分:0)
您可以为您的可见地图区域(导航栏下方)覆盖透明UIView(tView),获取他的观点,计算您需要的偏移量并再次设置setRegion。 (我猜你正在使用setRegion使地图居中):
CGPoint currentPoint = [mapView convertCoordinate:myPin.coordinate toPointToView:self.view];
CGRect tFrame = [tView frame];
tFrame.origin.y = currentPoint.y - tFrame.size.height;
tFrame.origin.x = currentPoint.x - (tFrame.size.width/2);
MKCoordinateRegion newRegion = [mapView convertRect:tFrame toRegionFromView:self.view];
[mapView setRegion:newRegion animated:YES];
您应该仔细检查tFrame,以便为应用程序设置最佳值。