我在滚动视图中有一个尺寸为620 x 450的UIScrollView - 590 x 650,我有2个UIImages,因此,我设置contentsize和属性如下:
self.scroller.minimumZoomScale=0.5;
self.scroller.maximumZoomScale=6.0;
self.scroller.contentSize=CGSizeMake(1350, 950);// EDIT : 1350 because 620 + 620
//950 because 450 + 450 and 50 extra
self.scroller.contentInset=UIEdgeInsetsMake(64.0,0.0,44.0,0.0);
self.scroller.scrollIndicatorInsets=UIEdgeInsetsMake(64.0,0.0,44.0,0.0);
self.scroller.delegate=self;但是,当我尝试运行和滚动时,只显示了第二张图像的一半/部分,并且滚动条反弹回来,即使我一直拉着滚动条来显示第二张图像的结尾。
我到底做错了什么?
我的内容大小设置/假设是否正确??
如果这个问题已经回答了,请指点给我,因为我找不到正确的解释。
编辑:*.h文件
@interface ViewController : UIViewController<UIScrollViewDelegate>
{
UIScrollView *scroller;
UIImageView *varImage1;
UILabel *lblStyle;
BOOL isAlpha;
UITextView *textView;
}
@property (retain, nonatomic) IBOutlet UIScrollView *scroller;
@property (retain, nonatomic) IBOutlet UIImageView *varImage1;
@property (retain, nonatomic) IBOutlet UILabel *lblStyle;
- (IBAction)notesClick:(id)sender;
@property (retain, nonatomic) IBOutlet UIButton *notesClick;
@property (retain, nonatomic) IBOutlet UITextView *textView;
@end*.m文件
// calculate minimum scale to perfectly fit image width, and begin at that scale
float minimumScale = [scroller frame].size.width / [varImage1 frame].size.width;
[scroller setMinimumZoomScale:minimumScale];
[scroller setZoomScale:minimumScale];
scroller.contentSize= CGSizeMake(960,1170);
scroller.delegate=self;图像大小为1170x960 UIImage视图大小为: 1170x960 (宽x高)图片集窗体IB和属性集缩放以适合。
滚动视图大小为590 x 650 (宽x高)
对象层次结构:

加载时的初始视图:*注意:即使图像是部分显示的,我也不能滚动到右侧查看图像的其余部分。

缩小图像后,即使图像只是部分显示,也可以滚动

发布于 2012-11-06 18:02:55
你能给我们看一下创建和添加图像的代码吗?
另外,安全和通用的方法如下:
CGSize contentSize = CGSizeZero;
for(UIView *view in self.scroller.subviews) {
contentSize.height = MAX(contentSize.height, view.frame.origin.y + view.frame.size.height);
contentSize.width = MAX(contentSize.width, view.frame.origin.x + view.frame.size.width);
}
CGFloat border = 50;
contentSize.height += border;
contentSize.width += border;
self.scroller.contentSize = contentSize;它只会找到scrollView中任何视图的最低和最右边的位置,并将其用作contentSize。
https://stackoverflow.com/questions/13246373
复制相似问题