集合视图滞后于某些字符串

时间:2017-02-14 07:02:56

标签: ios swift uicollectionview

我在使用集合视图时发现了一些奇怪的东西。我用一个文本标签创建了一个非常简单的海关单元集合视图。如果我用简单的东西填充文本标签......

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
    (cell as? CustomCell)?.textLabel = "ASDASDLAKJD"
}

然后无论滚动速度有多快,集合视图都会滚动。

然而,我注意到某些独特的字符导致滚动变为lagg。这是我发现滞后的一个字符/符号

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
    (cell as? CustomCell)?.textLabel = "ᴥ"
}

现在滚动时,流量显着不稳定且几乎不可滚动。是否有任何已知的ios在处理某些独特字符时遇到问题? BTW字体是systemFont,如果重要的话。谢谢!

1 个答案:

答案 0 :(得分:0)

我也在这个问题上打了很长时间。完美的英文本地化滚动。滚动中文或日文本地化时可怕的滞后。

问题是视图剪辑。似乎是UIKits字体渲染引擎中的一个错误。

检查您的视图层次结构,查看激活clipsToBounds的视图。例如: UICollectionViewCell - > ViewA - > ViewB - > ViewC - >的UILabel 其中ViewB.clipsToBounds(或相同的ViewB.layer.masksToBounds)设置为true。 (设置为真的常见情况是圆角)

对UICollectionViewCell的所有子视图禁用clipsToBounds,然后重试。如果您的设计师仍希望在您的单元格中的某个位置设置圆角,则必须具有创造性。