1
在iOS6之前,我使用MKMapView的子視圖基於用戶的GPS方向(NOT HEADING)旋轉MKMapView。這一切都非常完美,我初始化的觀點如下:MKMapView旋轉iOS6縮放
mapView = [[MKMapView alloc] init];
mapView.delegate = self;
mapView.clipsToBounds = FALSE;
mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
self.view = mapView;
和旋轉,當我做了以下內容:
UIView *innerMap = [mapView.subviews objectAtIndex:0];
if([innerMap isKindOfClass:[UIView class]])
{
innerMap.transform = CGAffineTransformMakeRotation(degreesToRadians(-lastDegrees));
}
正如我所說的,所有的工作完美。那麼當地圖旋轉時,它會自動縮放到視圖的整個框架並填充旋轉創建的黑角。
但是,新的iOS6地圖不能縮放和填充角落!所以當它旋轉時,視圖的一半缺失,另一半是黑色(背景色)。 我試過了什麼?
- 嘗試新的MKMapView的所有不同子視圖(也設置其resizingmask到相同的值的MapView)
- 試圖將contentmode設置爲scaleToFill(也在子視圖)
- 試圖設置的旋轉
不幸後autoresizes子視圖真正
嗨,謝謝,這是一個有效的解決方案,我已經在當前版本中實現了這一點。然而,問題在於我不喜歡這種解決方案,因爲用戶需要加載超過必要的數據,並且在3G上iPhone4需要花費太多時間來加載地圖。我只是想知道我是否錯過了自動調整大小的東西。 –
我使用Craig描述的方法。沒有人抱怨數據使用情況。數以萬計的銷售。你可以調整你的mapView的大小,使它不會太大。另外我這樣做的方式是我有一個常規視圖,我按照我希望的方式在XIB中調整大小,然後在代碼中創建一個MapView,調整它大小,然後將其作爲子視圖添加到XIB視圖中。 – Fraggle