我把UIScrollView
填充在主视图中,并把一个叫它_contentView
UIView
,最后放一些UIView
命名_annotationView
到_contentView.It
可能像下面来描述:为什么UIView没有transform.a和transform.d?
_scrollView
- |
- _contentView
*|
*_annotationView1
*_annotationView2
*……
当我实现了UISrollView
事件“ scrollViewDidZoom
”,和我_contentView.transform.a
和_contentView.transform.d
data.However
,_contentView像这样子视图:
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
NSLog(@"content scale:%f", _contentView.transform.a); //changed every time
NSLog(@"content scale:%f", _contentView.transform.d); //changed every time
for (UIView *view in [_contentView subviews]) {
NSLog(@"x:%f",view.transform.a); //always got 1
NSLog(@"y:%f",view.transform.d); //always got 1
}
}
为什么发生?
Thanks.Well,如何在_contentView放大或缩小时修复子视图的大小?与系统地图应用的注释一样,它们的大小也是固定的。 – Sedgwickz
您可以缩放滚动时的子视图,以便缩小时缩小子视图,缩小时缩小。 – sergio
是的,我也这样做。但是我发现缩放比例可能不一样。_contentView的子视图放大小于它的默认值。我只是这样做:if(_contentView.transform.a> 1 && _contentView.transform.a <= 1.5){CGAffineTransform transform = CGAffineTransformMakeScale(2-_contentView.transform.a,2-_contentView.transform .D); view.transform = transform; } – Sedgwickz