UINavigationController中的tvOS UITableView导致奇怪的淡入淡出行为(UIView.mask)

时间:2019-02-06 18:50:51

标签: swift uitableview mask tvos

当在UINavigationController的上下文中使用UITableView时,我遇到了一种奇怪的情况。

tvOS使用UIView.mask在UITableView的顶部和底部应用“淡出渐变”,以使单元格在表视图的顶部和底部边缘淡入淡出。

那很好:褪色蒙版始终不影响所选单元格。

(这里,view.backgroundColor设置为红色,tableView.backgroundColor设置为蓝色,alpha值为50%。tableView的约束设置为安全区域。)

enter image description here

将视图控制器放在UINavigationController中时,就会出现问题。当选择位于顶部附近时,遮罩视图似乎不再避开该单元格,因此它看起来已褪色。另外,当用户向下滚动时,衰落蒙版会向下大跳,然后当用户开始向上滚动时,该衰落蒙版似乎并不会妨碍您:

enter image description here

作为参考,这里是相同的设置,但tableView.mask = nil:

enter image description here

(禁用所有淡入淡出,但是您可以在表格视图的顶部和底部看到单元格“弹出”到存在和消失的状态。您可能认为您可以将tableView.masksToBounds = true设置为true,但随后将选定的单元格设置为被砍掉,因为它在选中时会增长)

我肯定在这里缺少明显的东西吗?苹果公司没有人将表格视图放在导航控制器内部吗?

1 个答案:

答案 0 :(得分:0)

你是如此亲密!缺少边界剪辑。

tableView.clipsToBounds = true
tableView.mask = nil

干杯:)