在实施UIScrollView 2天后,我放弃了自己做,尽管它应该很简单,但我无法做到。
我需要一个带有Autolayout的垂直滚动视图(我有2个需要缩放的背景图像),我有Xcode 7.2,iOs部署目标9.0,我正在使用故事板
scrollview是一个包含大量内容的“新帐户”表单,因此它可以有一个固定的高度
我尝试了很多选项,但没有其中任何一个可以使用,在我看来我有一个带有所有组件的“内容视图”的滚动视图。
问题: 1.-如何在滚动视图中添加更多内容?如果我尝试添加更多组件(超过ViewControler的高度),它会自动将我的组件移动到ViewController矩形内
2.-如何使其可滚动?如果我将内容视图固定到顶部,底部,左侧,右侧并使其具有固定高度(如1000),则不会滚动
任何帮助将不胜感激
答案 0 :(得分:1)
Scrollview将滚动到最后一个UI对象的末尾。但这不是scrollview的默认行为。您应该在滚动视图上明确设置contentSize
。请查看以下示例。
-(void)addImage {
int count = 20;
UIScrollView * scView = [[UIScrollView alloc] init];
scView.frame = CGRectMake(30, 60, self.view.frame.size.width, 60);
UIButton * btn;
UIImageView * imgV;
float imgWidth = 44;
for(int i=0;i<count;i++) {
imgV = [[UIImageView alloc] init];
imgV.frame = CGRectMake(i*imgWidth, 0, imgWidth, 44);
imgV.image = [UIImage imageNamed:@"gitar"];
[scView addSubview:imgV];
}
[scView setContentSize:CGSizeMake(imgWidth*count, 50)];
[scView setBackgroundColor:[UIColor redColor]];
[self.view addSubview:scView];
}
上述方法的作用是,它会在滚动视图中添加20个图像,最后将所有图像添加到for
循环中的scrollview后,我将contentSize
设置为Scrollview。此步骤使我的滚动视图滚动直到内容可用。我的示例显示水平滚动,您必须将此行为更改为垂直滚动。