我将MKMapView作为另一个名为mainView
的UIView的子视图。如果我在y轴上转换我的mainView
:
[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 :(得分:4)
已修复。问题是父autoresizesSubviews
的{{1}}属性默认情况下设置为UIView
并导致{{1}的奇怪行为1}}。将YES
设置为MKMapView
可使其像魅力一样: - )