iOS11
에서 zPosition
은 annotationView.layer에서 작동이 중지되었습니다. 지도 영역이 바뀔 때마다.MapKit (MKMapView) : iOS11에서 z 위치가 더 이상 작동하지 않습니다.
Xcode 8.3/9
UPDATE (솔루션 덕분 엘리아스 알토)와 운 :
하는 MKAnnotationView 작성 :
annotationView.layer.zPosition = 50;
if (IS_OS_11_OR_LATER) {
annotationView.layer.name = @"50";
[annotationView.layer addObserver:MeLikeSingleton forKeyPath:@"zPosition" options:0 context:NULL];
}
MeLikeSingleton 또는 무엇이든에서 관찰자 객체 당신이 거기 있습니다
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {
if (IS_OS_11_OR_LATER) {
if ([keyPath isEqualToString:@"zPosition"]) {
CALayer *layer = object;
int zPosition = FLT_MAX;
if (layer.name) {
zPosition = layer.name.intValue;
}
layer.zPosition = zPosition;
//DDLogInfo(@"Name:%@",layer.name);
}
}
}
- 이 솔루션은 zOrder를 추적 할 layer.name 값을 사용합니다.
- 루프 전용, KVO 만
- 레이어 값 변경을 관찰하는 싱글 톤 개체를 사용했습니다. 사용자 지정 위치 (클러스터 위치, 클러스터, 핀, 콜 아웃)가 여러 개인 경우에 유용합니다. 여러 개의 MKMapView가 앱을 통해 사용되는 경우에 사용합니다. IOS11
..is가
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
를 사용하고 여기에 zPosition을 설정하기 전에
것은 IT는 일하는 방법.
..하지만 iOS11에서는 더 이상 작동하지 않습니다.
해결 방법을 찾으셨습니까? 나는 똑같은 것을 다루고있다. – d3020
예, 원래 게시글을 참조하십시오. – Jaro
동일한 보트에있는 모든 사람들에게 : z 위치는 iOS 11에서 분명히 깨졌습니다. 버그 보고서를 제출 하시려면 시간을내어주십시오. https://developer.apple.com/bug-reporting/ 더 많은 정보를 보내주십시오. 파일, 더 많은 관심이 버그는 애플에서 얻을 것이다. – Stack