iOS ScrollView setContentSize 不工作

标签 ios objective-c uiscrollview

我使用的是 Xcode 8、iOS 10。我从 Storyboard 创建 ScrollView。我的流程是

  • viewDidLoad 方法有 Restcall,从服务器获取信息。
  • 返回时,我解析了 Response 并基于该方法在 Method 中创建 UIElement,然后添加到一个 ParentView。
  • 最后将ParentView添加到ScrollView。
[self.scrollView addSubview:parentView];
self.scrollView.frame = CGRectMake(0, 0, 320, parentView.frame.size.height);
[self.scrollView setContentSize:CGSizeMake(320, parentView.frame.size.height)];

当我在此代码后打印 Scrollview 高度时,它显示“680”,这比我的 View 高度高。我已经尝试使用“viewDidLayoutSubviews”方法,但 ScrollView 仍然无法正常工作。 有谁知道为什么它不滚动?

最佳答案

您的代码中的问题是您正在从父 View 设置scrollview 高度和contentSize 高度。

你应该做如下:-

[self.scrollView addSubview:parentView];

self.scrollView.frame = CGRectMake(0, 0, 320, [UIScreen mainScreen].bounds.size.height);

[self.scrollView setContentSize:CGSizeMake(320, parentView.frame.size.height)];

希望对你有帮助

关于iOS ScrollView setContentSize 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915042/

相关文章:

ios - Bundle ID 是否影响搜索结果

ios - 在不使用容器 viewController 的情况下切换 ViewController 的最佳方法是什么?

ios - 每次用户点击图像时,在可缩放的 UIImageView 上绘制一个小方 block 。并缩放正方形

objective-c - xCode 4 中的异常没有调用堆栈

ios - 在 UIScrollView 中调整 View 大小

IOS UICollectionView 与 ScrollView

ios - 如何在 Swift 中将 TextField 添加到 UIAlertController

ios - 如何在导航 Controller 中查看特定的文本字段、按钮等

objective-c - 使用 NSArray 作为参数声明函数

objective-c - 使用 mailcore2 从 IMAP 帐户详细信息中获取完整的电子邮件地址