iPhone SDK Scroll View显示额外空间

时间:2010-02-25 20:25:50

标签: iphone uiscrollview

我有一个滚动视图,其中我有一个显示960x960图像的imageview,但它滚动到接近4倍的图像。我试图记录所有可能的视图的宽度,一切都声称它是960x960(或者更小,我想我一次登录屏幕宽度......?)

我需要此图像停止在图像的右下角滚动而不是输入死区。任何帮助将不胜感激。

哎呀,即使告诉我这个对象的名字比我的scrollView.contentSize还要大,这会让我走上正轨...

//Test-Image is just a 960 by 960 image that's numbered around the edges 1-10 so you can tell if it's being moved
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Test-Image.png"]];
self.imageView = tempImageView;
[tempImageView release];

scrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height);

//Tested with this, results the same.
//[scrollView setContentSize:CGSizeMake(960, 960)];

NSLog(@"What is my scrollView's height attribute?...%f", scrollView.contentSize.height);
// Returns 960
NSLog(@"What is in scrollView's width attribute?...%f", scrollView.contentSize.width);
// Returns 960

scrollView.contentOffset = CGPointMake(480, 480);

scrollView.maximumZoomScale = 8.0;
scrollView.minimumZoomScale = 0.25;
// Commenting clipsToBounds out doesn't seem to have any effect
scrollView.clipsToBounds = YES;
scrollView.delegate = self;

[scrollView addSubview:imageView];

1 个答案:

答案 0 :(得分:1)

不幸的是,我没有具体的答案。

  • 参考。试试[scrollView addSubview:self.imageView];而不是[... addSubview:imageView];

  • 内容大小。添加ImageView后尝试设置内容大小 [scrollView setContentSize:CGSizeMake(imageView.frame.size.width,imageView.frame.size.height)];

  • 代表。您是否使用并设置了scrollview的委托属性(oIWScroll.delegate = self;)?

  • 削波。没关系。

  • ScrollView框架。确保scrollview的框架等于或小于[UIScreen mainScreen] .applicationFrame。

  • 成帧。当我遇到类似于你描述的情况时,我所做的一件事就是创建一个容器UIView,将它添加到滚动视图并将对象填充到容器视图中。但是你真的不应该为一张图片做那件事 我还设置了contentMode = UIViewContentModeTop。

我希望这些建议有所帮助。