iOS11: UITableView 内容和键盘之间的间距
iOS11: UITableView spacing between content and keyboard
所以我的问题比较简单
我创建了一个只有 1 个屏幕的测试应用程序。
这个屏幕是一个 UINavigationController
和一个 UITableViewController
作为根视图控制器。 table 视图有 30 个单元格,其中添加了一个 UITextField
作为子视图。 UINavigationController
还显示工具栏以更好地演示问题。
现在来谈谈我的问题。我在 iPhone X 模拟器上启动这个应用程序并滚动到底部。然后我点击 UITextField
来编辑文本,输入一些文本并再次滚动到底部。现在有问题了。整个键盘高度添加为底部内容插图,如您所知,由于 iOS11 有新的 safeArea
,现在从中添加了 contentInset。正如您现在已经可以想象的那样,contentInset 太大了,因为键盘高度也是从屏幕边缘而不是 safeArea
边缘计算的。为了更好地理解问题,请查看随附的屏幕截图。
如您所见,滚动条和内容结束得太早了! table 视图内容和键盘之间的巨大间距不应该存在!底部的safeArea
越大,间距越大。
苹果自己解决了这个问题。
在 iOS 11.1(测试版)中,问题不再出现。
所以我的问题比较简单
我创建了一个只有 1 个屏幕的测试应用程序。
这个屏幕是一个 UINavigationController
和一个 UITableViewController
作为根视图控制器。 table 视图有 30 个单元格,其中添加了一个 UITextField
作为子视图。 UINavigationController
还显示工具栏以更好地演示问题。
现在来谈谈我的问题。我在 iPhone X 模拟器上启动这个应用程序并滚动到底部。然后我点击 UITextField
来编辑文本,输入一些文本并再次滚动到底部。现在有问题了。整个键盘高度添加为底部内容插图,如您所知,由于 iOS11 有新的 safeArea
,现在从中添加了 contentInset。正如您现在已经可以想象的那样,contentInset 太大了,因为键盘高度也是从屏幕边缘而不是 safeArea
边缘计算的。为了更好地理解问题,请查看随附的屏幕截图。
如您所见,滚动条和内容结束得太早了! table 视图内容和键盘之间的巨大间距不应该存在!底部的safeArea
越大,间距越大。
苹果自己解决了这个问题。 在 iOS 11.1(测试版)中,问题不再出现。