【发布时间】:2010-10-01 05:17:51
【问题描述】:
我有一个带有各种标签的详细视图,可以提供有关地点的信息(地址、电话等)。提供的信息比 iPhone 屏幕高,所以它们都在 UIScrollView 中(本身在 UIView 中),您可以上下滑动查看所有内容。
我在滚动视图中也有一个 MKMapView。当它没有附加到 Interface Builder 中的任何东西时,它会随着滚动视图上下移动,因为它应该保持与滚动视图中其他控件的正确相对位置。您可以玩地图,缩放和平移地图等,默认显示您当前的位置。
但是,一旦我将它连接到 IB 中的 MKMapView 变量,地图视图就不再随滚动视图一起滚动。相反,它实际上只是位于最初显示的位置(视图底部,视图底部下方隐藏了一点地图),并且滚动视图在其后面上下滚动。
这里发生了什么?我尝试在 IB 中更改一堆地图视图和滚动视图的属性,但没有效果。我唯一没有尝试过的就是完全用代码创建地图视图,但这似乎不是一个明显的解决方案。
编辑:对于过期的赏金向大家道歉。我被挂在项目的其他领域,直到现在才回到这里。我不知道它会过期。
进一步编辑:嗯,我发现了我的问题。由于我完全不知道的原因,我有
[self.view addSubview:mapView];
在 viewcontoller 的 ViewDidLoad 中。一旦它被连接起来,那一行代码就会(显然)使地图成为我的视图的子视图,有效地将其从滚动视图中拉出来。
愚蠢的错误,很抱歉浪费了您的时间(和赏金)。在我认为回答者有机会看到结果后,我将删除此问题。
【问题讨论】:
-
不要删除问题。我以前犯过这个错误,我认为这是 iPhone/Mac 开发人员的常见错误。最好留下整个线程并让其他人从中学习。
-
感谢您没有删除问题。我遇到了同样的问题,它也帮助了我。
标签: iphone cocoa-touch ios uiscrollview mkmapview