0

アプリケーションのコレクション ビューに MDCChips を実装していますが、解決できない問題が発生しています。

selectedImageView をチップに追加し、コレクション ビューでチップを選択すると、画像は意図したとおりに表示されますが、画像の出現によりタイトルがずれます。

固有のコンテンツと UIEdgeInsets で遊んでみましたが、これに対する回避策が見つからないようです。

これを回避する方法はありますか?チップビューで他のものを置き換えずに画像を表示したいと思います。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "identifierChips", for: indexPath) as! MDCChipCollectionViewCell
    let chipView = cell.chipView
    chipView.selectedImageView.image = UIImage(named: "tickIcon")

    return cell
}

ヒントやヘルプをいただければ幸いです。

4

2 に答える 2

0

やっと達成できました。それはちょっとハックですが、それが機能する限り...そして別の解決策がありません...私に合っています!

セルが選択されるたびに実行されるこのコードを追加しました。

chipView.imagePadding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: -padding)

このコードは、セルの選択が解除されるたびに実行されます。

chipView.imagePadding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)

したがって、本質的にパディング値は画像の幅です。セルを選択すると画像が表示されますが、画像の幅全体で画像の右側のパディングを削除するため、ラベルには影響しません。

ビューの選択を解除すると、画像が消えるので、パディングをゼロに戻します。

于 2019-11-20T13:58:50.587 に答える