지도를 나타내는 스크롤보기가 있습니다. 사용자가지도를 확대 할 때지도에 핀이 있습니다. 내 응용 프로그램은 viewForZoomingInScrollView를 사용하여 모든 핀이 동일한 크기로 유지되도록합니다. 이 오른쪽 난 스크롤하면 3.1.3까지 OS 버전에 잘 작동 .. 여기서 코드의 일반적인 요지이다)iPhone ViewForZoomingInScrollView 동작이 iOS3.2에서 변경되었습니다. +
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
NSLog(@"view for zooming in scroll view...");
double scale = mapScrollViewSize.width/scaledSize.width;
NSArray *pins = [mapView subviews];
for (int i=0; i<[mapPins count]; i++)
{
AMapPin *mapPin = (AMapPin *)[mapPins objectAtIndex:i];
if([mapPin isKindOfClass:[AMapPin class]])
{
CGAffineTransform transform1 = CGAffineTransformMakeScale(scale, scale);
mapPin.transform = transform1;
}
}
return mapView;
}
를 레이어의 기준점을 설정하여 유지하는 핀 포인트의 위치를 확보 나는 NSLog를 콘솔에서 반복적으로 볼 수 있으며 내 하위 뷰는 올바르게 크기가 조정됩니다. iOS4에서는 SDK 4와 iPhone 4의 에뮬레이터에서 셀렉터 만 반복적으로 호출되는 것보다는 한 번 호출되는 것 같습니다. 이전 OS 버전이므로 하위 뷰의 크기 조정은 전혀 영향을 미치지 않습니다.
나는 디자인이 변경되었습니다 생각하지만 난 내 최선의 선택을 위해 무엇인지 알고 싶어하거나 A)가 viewForZoomingInScrollView 새로운 3.2을 사용하는 방법) 최소한 나 변경을 유지하여 작동 있도록 내 코드를 변경 작업하지만 이전 OS 버전과 추가 코드의 최소 금액과 지원을 유지하는이 교차 버전 호환성 및 방법에 대한 전문가는 메신저하지 않습니다 scrollViewDidZoom라는 선택은 가장 효율적으로이 호환겠습니까 그것은
감사
덕분에, 내가 이렇게했지만 그것을 할 수있는 "최고"방법이라고 확신하지 못했습니다, 문서는 새로운 scrollViewDidZoom에 매우 약합니다 그렇지 않으면 누군가가 다르게 말할 때까지, 환호! – Matt