1

と呼ばれる別のUIViewの子ビューとしてMKMapViewを使用していますmainViewmainViewy軸を次のように遷移すると、次のようになります。

[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元の位置に正確にとどまるMKMapViewを除いて、すべてのサブビューが画面を100ポイント下にうまく移行します。

そこで、別の実験を試みframe.origin.y、MKMapViewのを移動しました。これにより、実際にマップビューが移動しますが、他のビューとは同期されません(わずかな遅延があります)。

誰もがそれがなぜであるか考えていますか?MKMapViewは直接のUIViewサブクラスではないためだと思います。この動作を修正する方法はありますか?

4

1 に答える 1

4

修理済み。問題は、デフォルトで設定されてautoresizesSubviewsいる親のプロパティであり、で奇妙な動作を引き起こします。それを魅力のように機能させるように設定する:-)UIViewYESMKMapViewautoresizesSubviewsNO

于 2012-08-20T15:14:33.270 に答える