iOS 10 GM嵌入了UITableView和UICollectionView contentSize错误并且滚动指示器没有显示

时间:2016-09-12 04:22:12

标签: ios swift autolayout swift3 ios10

我的UI有一个带有两个嵌入视图的视图控制器,如下所示:

-----------------
|        |      |
|  List  | Grid |
|        |      |
-----------------

列表视图有UITableView,网格有UICollectionView。两者在iOS 9中都运行良好。

在iOS 10中,我有两个问题:

  • 两个视图都滚动浏览其内容。内容大小太大。
  • 两者都没有显示滚动指示器。

其他人在嵌入式视图控制器中遇到滚动视图的这些问题,并且知道如何解决它?

注意:我觉得这可能与旧的(新的)autoresizing / springs和struts系统有关,并且奇怪的行为是将在Storyboard中添加为自定义对象的视图调整为1000x1000。

3 个答案:

答案 0 :(得分:3)

问题在于我使用另一个视图的.frame属性(在本例中为工具栏)来计算tableView的contentInsets。在viewDidLoad(可能在设置之前)查询该视图的帧并返回1000x1000。我已经用约束替换了.frame属性的所有查询,它帮助我修复了所有这些iOS 10大小调整问题。

答案 1 :(得分:0)

之前请致电layoutIfNeeded。 XCode 8出现此问题。 我在willDisplayCell中遇到了同样的问题。

答案 2 :(得分:-1)

这是Xcode8问题,只需更改故事板属性"打开In"到" XCode 7.x"并恢复为XCode 7.

恢复后,您的观点将获得正确的值。