2017-12-03 3 views
0

セルがビュー内にあるコレクションビューを作成しました。ビューのアルファ値は0.65です。スクロールすると、ビューが明るくなります。ビューがお互いの上に積み重ねられますか?コレクションビュースクロール後にアルファが変化しています

MY CODE:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! LevelStufenCell 

    cell.levelViewBack = UIView() 
    cell.levelViewBack.frame = CGRect(x: 0, y: 0, width: cell.frame.height, height: cell.frame.width) 
    cell.levelViewBack.layer.cornerRadius = cell.levelViewBack.frame.height * (36/198) 
    cell.levelViewBack.backgroundColor = UIColor.white 
    cell.levelViewBack.alpha = 0.65 
    cell.insertSubview(cell.levelViewBack, at: 10) 

    return cell 
} 
+0

インターフェイスビルダーでサブビューを追加しない理由はありますか? –

答えて

0

細胞はあるがを再利用するので、あなたは、各セルにセルがビューにスクロールするたびに別のlevelViewBackを追加しています。

あなたの内にlevelViewBackを定義しましたLevelStufenCell ...それはIBOutletですか?もしそうなら、あなたは新しいものを毎回作成する必要はありません - 単に、この行を削除します。それはないIBOutletある場合

cell.levelViewBack = UIView() 

、あなたはLevelStufenCellの内側にそれを作成していますか?その場合は、再度、その行を削除してください。そうでない場合は、「作成し直す」前に作成されているかどうかを確認してください:

if cell.levelViewBack == nil { 
    cell.levelViewBack = UIView() 
} 
関連する問題