objective-c - UIScrollView setContentOffset :animated not working in iOS11

标签 objective-c ios11 xcode9

我添加了一个方法来使 ScrollView 滚动到它的顶部。这在 iOS10 中按预期工作。但是当我用 Xcode 9 升级到 iOS11 时,它不工作了。 iOS11 有什么遗漏吗?
以下代码有效:

[self setContentOffset:CGPointZero animated:YES];

在 OP 发表评论后更新问题(更新)

我找到了 setContentOffset:animated 不起作用的原因,我使用 UITableView 并在我的 tableview 中创建了一些自定义单元格,tableview 有一个属性“estimatedRowHeight”,我们应该使这个属性等于“0”,我想当 iOS11计算它的内容大小它将使用“estimatedRowHeight”,如果我们不设置此属性,它将使用系统默认值。

这很有用,应该更显眼

最佳答案

你必须做

self.view.layoutIfNeeded()

在设置内容偏移量之前。 它更新 UIScrollView 的 contentSize,然后 contentOffset 可用。

关于objective-c - UIScrollView setContentOffset :animated not working in iOS11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46660347/

相关文章:

ios - 解压缩文件进度在 block 内不起作用

objective-c - 如何通过手动分配索引将数据添加到 NSMutableArray?

swift - WKWebView 在 iOS 10 及以上版本中不加载 http URL,html 页面不渲染

Xcode 9 在 Spritekit 的 SKScene 中设置纹理时崩溃

swift - 为什么我的枚举显示 "ErrorType"

ios - 大量图像的内存管理逻辑帮助?

javascript - 从 Objective C 委托(delegate)回调到 Cordova 插件

iOS11 拖动行为在 UITableView 中不起作用

ios - 未调用文件提供程序 iOS11 startProvidingItem

ios - Xcode Server iOS 触发器问题错误 35