UIImage和UIScrollView的帧/边界不一致

时间:2010-05-21 11:46:07

标签: iphone objective-c xcode

这个让我困惑的是。我的图像宽度为1600像素,高度为1819像素。

我将图像作为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像素? 如果1625比原始大小小约200像素,那么界限怎么能是1601乘1625?

当在20 x 1625的坐标处定位另一个UIImageView时,UIImageView显示在UIScrollView内容底部上方约200像素。

我迷路了......

1 个答案:

答案 0 :(得分:0)

此效果是由设置ZoomScale

引起的