在存在另一个 UIContainerView 时,无法在我的 mapView 中实例化 MKAnnotationPoint

Trouble Instantiating MKAnnotationPoint in my mapView while another UIContainerView is present

基本场景在一切之下,我的视图控制器中有一个地图视图。

在此之上,我在其上制作了一个 "annotationCreateView" 动画。此视图已实例化并在 isHidden = No 和 isHidden = Yes 之间移动,并相应地在屏幕上和屏幕外设置动画。

但是,我在为屏幕上的视图设置动画结束时向用户的当前位置添加注释时遇到了问题。

出于某种原因,视图将一直向上动画,然后在执行我添加注释视图的代码时,视图将消失。

如果我检查 IsHidden,它说不,这意味着它应该存在。但是,如果我尝试将其重新激活,它会一直向上滑动并再次消失。

这是我的代码:

createAnnotationViewPresent = true;
 [_annotationCreateView setHidden:NO];
[UIView animateWithDuration:1.0f animations:^{
    CGRect frame = self.view.frame;
    frame.size.height = frame.size.height/2;
    frame.origin.y = frame.origin.y + frame.size.height;
    _annotationCreateView.frame = frame;
    } completion:^(BOOL finished) {
        MKPointAnnotation *point = [[MKPointAnnotation alloc]init];
        point.coordinate = _mapView.userLocation.coordinate;
        [_mapView addAnnotation:point];
        self.point = point;
}];

感谢任何建议,如果您需要更多代码或信息,请告诉我。

所以我面临的问题是 Apple 的自动布局约束使得在视图到达动画结束然后放置地图视图的图钉之后,它会发生冲突。然后它决定通过将我的视图重置到它的原始位置来解决这个冲突,并让它看起来一开始就没有移动过。至少据我所知:P。我的问题的解决方案是简单地解除视图控制器的自动布局约束,瞧,问题解决了。