2010-05-21 58 views
1

这个让我困惑。我有一个宽度为1600像素,高度为1819像素的图像。UIImage和UIScrollView的帧/边界不一致

我的图像作为的UIImageView加载到的UIScrollView并设置“contentsize参数”

iKarteScrollView.contentSize = CGSizeMake(iKarteImageView.bounds.size.width, iKarteImageView.bounds.size.height); 
NSLog(@"Frame - width %.6f, height %.6f - Bounds - width %.6f, height %.6f", 
     myImageView.frame.size.width, 
     myView.frame.size.height, 
     myImageView.bounds.size.width, 
     myImageView.bounds.size.height); 
NSLog(@"Content size width %.6f, height %.6f", 
     myScrollView.contentSize.width, 
     myScrollView.contentSize.height); 

的NSLog的显示以下内容:

Frame - width 1600.000000, height 1819.000000 - Bounds - width 1600.000000, height 1819.000000 
Content size width 1600.000000, height 1819.000000 

现在到了奇迹,在随后的方法我再次调用同一个NSLog的对象。但这一次的结果是

Frame - width 405.000000, height 411.000000 - Bounds - width 1601.510864, height 1625.236938 
Content size width 404.617920, height 460.000000 

为什么帧大小突然405×411像素? 在1625比原始尺寸大约小200个像素的情况下,边界如何可以达到1601?

当在坐标为20×1625的位置放置另一个UIImageView时,UIImageView在UIScrollView内容底部以上估计显示200像素。

我迷路了......

+0

如果你可以张贴详细代码,那么这将是真正伟大造成的。在这里它看起来像某处的边界或框架正在改变.. – Jim 2010-05-21 12:31:03

回答

0

这种效果是通过设置ZoomScale