ios - 添加到 ScrollView 内容 View 的最后一个 View 落后于主页指示器

标签 ios swift autolayout scrollview subview

我有一个包含 scrollViewUIViewController

scrollView 被固定 (0,0,0,0) 到 Safe Area,这样:

enter image description here enter image description here

viewController viewDidLayoutSubviews 的主体中,我将一些 View 添加到此 scrollViewContent View .

我在 iPhone 6 模拟器中没有看到任何问题,但在 iPhone X 模拟器中发生了一些奇怪的事情:我添加到 ScrollView 的最后一个 View 部分落后于 home 指示器:

enter image description here

我错误地认为这是一种问题 solved通过安全区

我能做些什么来解决这个问题?

最佳答案

从 iOS 11 和新的 iPhone X 设备开始,这是 safeAreaLayoutGuide 的默认行为.

如果您将底部 anchor 固定到安全区域,则 ScrollView 子类(如 TableView 和 Collection View )会自动处理此问题。

由于您手动填充 ScrollView ,因此您需要获取底部安全区域高度并使用该值插入 ScrollView 。

你可以这样做:

scrollView.contentInset.bottom = view.safeAreaInsets.bottom

关于ios - 添加到 ScrollView 内容 View 的最后一个 View 落后于主页指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54807134/

相关文章:

ios - 使用 iOS 的 Firebase Google Auth

ios - NSAttributedString.Key.writingDirection 上的 swift 4.2 崩溃

ios - 是否可以使用自动布局获取动态表格 View 部分标题高度?

ios - 隐藏 UIView 和更新约束

ios - 尽管匹配宽度/高度限制,但启动屏幕 Storyboard 中的图像不可见

ios - 表格 View 中的搜索栏

ios - 删除导航按钮

ios - 基于数组比较更新 UICollectionView

ios - 使用 NSCoding 归档 UIImageView

macos - Swift 时间间隔格式化程序