ios - 实现垂直 UIScrollView

标签 ios uiscrollview

UIScrollView 实现了两天后,我放弃了自己做,尽管它应该很简单但我做不到。

我需要一个带自动布局的垂直 ScrollView (我有 2 个需要缩放的背景图像),我有 Xcode 7.2,iOs 部署目标 9.0,我正在使用 Storyboard

scrollview是一个内容很多的“新账号”表单,所以可以固定高度

我尝试了很多选项,但没有一个可行,目前我有一个带有所有组件的“内容 View ”的 ScrollView 。

问题: 1.- 如何在 ScrollView 中放置更多内容?如果我尝试放置更多组件(超过 ViewControler 的高度),它会自动将我的组件移动到 ViewController 矩形内

2.- 我如何让它可以滚动?如果我将内容 View 固定到顶部、底部、左侧、右侧并使其具有固定高度(如 1000),它不会滚动

任何帮助将不胜感激

最佳答案

Scrollview 将滚动到最后一个 UI 对象的末尾。但这不是 ScrollView 的默认行为。您应该在 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];
}

上面的方法所做的是,它会在 scrollview 中添加 20 张图像,最后在 for 循环中将所有图像添加到 scrollview 之后,我将 contentSize 设置为 Scrollview .此步骤使我的 ScrollView 滚动直到内容可用。我的示例显示的是水平滚动,您必须将此行为更改为垂直滚动。

关于ios - 实现垂直 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34898489/

相关文章:

iphone - NSNumberFormatter 的乘数向下舍入而不是显示分数

ios - 如何获取cancel_date字段?

ios - Xcode静态库: Where are the symbols?

ios - 带有 UTF-8 字符串的 UITableView header ?

ios - 我是否过度使用 NSNotifications

iphone - iOS UIScrollview 自动布局 - UILayoutFittingCompressedSize

ios - UICollectionView 太宽了。我怎样才能使它成为设备的宽度?

ios - 在 Storyboard 中更改 super View 后保持自动布局约束

ios - 多个 UIScrollView

iphone - UIScrollView 在 iOS 4.0 上缩放时不调用 layoutSubviews