2012-08-17 70 views
1

我有一個MKMapView作爲另一個UIView的子視圖mainView。如果我有我的過渡上mainView y軸:MKMapView沒有正確過渡

[UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ 
    CGRect frame = self.mainView.frame; 
    frame.origin.y += 100.0f; 
    self.mainView.frame = frame; 
} completion:nil]; 

那麼mainView和所有它的子視圖通過精美的100點,向下轉換屏幕除了的MKMapView,這正好停留在原來的位置。

所以我嘗試了另一個實驗,並且移動了MKMapView的frame.origin.y,然後它實際移動了地圖視圖,但沒有與其他視圖同步(它有輕微的延遲)。

任何人都知道這是爲什麼?我假設因爲MKMapView不是直接UIView子類。有沒有辦法解決這個問題?

+0

你在模擬器中試試這個嗎?在模擬器中調整地圖大小時,我遇到了一些奇怪的調整大小問題。在設備上正常工作。 – 2012-08-17 20:04:06

+0

沒有。在設備上測試。 – znq 2012-08-18 07:10:41

回答

4

固定。問題在於父母UIViewautoresizesSubviews屬性默認設置爲YES,並導致MKMapView出現奇怪的行爲。設置autoresizesSubviewsNO使它像魅力一樣工作:-)

+0

是的,謝謝!它從上個月開始表現得很奇怪。對於面臨同樣問題的人,請檢查您的'故事板 - >選擇視圖 - >'在實用程序中顯示屬性檢查器',並取消選中Autoresize Subviews'' – 2016-04-28 08:02:54