我有一个滚动视图,其中我有一个显示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];
答案 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。
我希望这些建议有所帮助。