2017-02-14 4 views
0

コレクションビューで作業しているときに奇妙なものが見つかりました。私は1つのテキストラベルだけで税関セルの非常に単純なコレクションビューを作成しました。もし私がテキストラベルに単純なものを入れたら...コレクションビュー特定の文字列で遅れて表示

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

次に、私がそれをスクロールする速さに関係なく、コレクションビューはスムースにスクロールされます。

しかし、特定の一意の文字がスクロールを遅らせる原因に気付きました。私はスクロールしたときにここで私はかなり

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

laggsを発見した1文字/記号は今、流れが大幅に途切れ、ほぼunscrollableです。特定のユニークな文字を処理するのに問題があると知られているものはありますか?それが重要な場合は、フォントはsystemFontです。ありがとう!

+0

「\ u {1D25}」として追加しようとするとどうなりますか?それは同じですか? –

+0

私はそれを試して、私はまだ同じ遅れを取得しています。私は毎秒約3枚のフレームを取得すると思います。 –

+0

あなたはそれが遅れの理由だと確信していますか?あなたは実際のデバイスでそれをテストしましたか? –

答えて

0

私はまた、この問題でかなりの間戦っていました。英語のローカリゼーション用の完全なスクロール。中国語や日本語のローカライズでスクロールすると、ひどく時間がかかります。

問題はビューのクリッピングです。 UIKitsフォントレンダリングエンジンのバグと思われます。

clipsToBoundsを有効にするビューのビュー階層を確認してください。たとえば、 UICollectionViewCell - > ViewA - > ViewB - > ViewC - > UILabel ここで、ViewB.clipsToBounds(またはViewB.layer.masksToBoundsは同じ)がtrueに設定されています。

UICollectionViewCellのすべての子ビューに対して無効にして、もう一度やり直してください。あなたのデザイナーがあなたのセルのどこかに丸いコーナーを残そうとするなら、あなたは創造的になるはずです。

+0

あなたの応答に感謝します。カスタムセルのすべてのサブビューで.clipsToBounds = falseを呼び出そうとしましたが、まだスクロールの問題が発生しています –

+0

私はそれを残念に思っています。他のCALayerエフェクトをセルビュースタックでアクティブにしていることがありますか? – LimeRed

関連する問題