1

我有一个 MKMapView 作为另一个 UIView 的子视图,称为mainView. 如果我mainView在 y 轴上转换我的:

[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,它完全保持在原始位置。

所以我尝试了另一个实验,也移动了frame.origin.yMKMapView,然后实际移动了地图视图,但不与其他视图同步(它有一点延迟)。

有人知道为什么会这样吗?我假设是因为 MKMapView 不是直接UIView子类。有没有办法解决这种行为?

4

1 回答 1

4

固定的。问题是默认情况下设置autoresizesSubviews为父级的属性,并导致. 设置为使其像魅力一样工作:-)UIViewYESMKMapViewautoresizesSubviewsNO

于 2012-08-20T15:14:33.270 回答