gpt4 book ai didi

objective-c - MKMapView 的 ContentInset

转载 作者:太空狗 更新时间:2023-10-30 03:29:15 25 4
gpt4 key购买 nike

UIScrollView 有一个出色的 contentInset 属性,它告诉 View ,屏幕上的哪一部分是可见的。我有一个 MKMapView,它被半透明 View 部分覆盖。我希望 map 在 View 下可见。我必须在 map 上显示几个注释,我想使用 -setRegion:animated: 缩放到它们,但是 map View 不考虑它被部分覆盖,因此我的一些注释会被半透明 View 覆盖。

enter image description here

有什么方法可以告诉 map ,像 ScrollView 一样使用 contentInset 进行计算?


更新:这是我尝试过的:

- (MKMapRect)mapRectForAnnotations
{
if (self.trafik) {
MKMapPoint point = MKMapPointForCoordinate(self.trafik.coordinate);
MKMapPoint deltaPoint;

if (self.map.userLocation &&
self.map.userLocation.coordinate.longitude != 0) {
MKCoordinateSpan delta = MKCoordinateSpanMake(fabsf(self.trafik.coordinate.latitude-self.map.userLocation.coordinate.latitude),
fabsf(self.trafik.coordinate.longitude-self.map.userLocation.coordinate.longitude));
deltaPoint = MKMapPointForCoordinate(CLLocationCoordinate2DMake(delta.latitudeDelta, delta.longitudeDelta));
} else {
deltaPoint = MKMapPointForCoordinate(CLLocationCoordinate2DMake(0.01, 0.01));
}

return MKMapRectMake(point.x, point.y, deltaPoint.x, deltaPoint.y);
} else {
return MKMapRectNull;
}
}

最佳答案

使用 UIViewslayoutMargins

例如这将强制当前用户的位置图钉向上移动 50pts

mapView.layoutMargins = UIEdgeInsets(top: 0.0, left: 0.0, bottom: 100.0, right: 0.0)

关于objective-c - MKMapView 的 ContentInset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27161216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com