Изменить настройку Альфа случайно выбранного изображения - PullRequest
0 голосов
/ 16 апреля 2020

Подобный вопрос к тому, который я задал прошлой ночью. Но я провел день, читая и приводя в порядок свой код. Я пытаюсь сделать так, чтобы случайный квадрат в сетке изменил настройку альфа на 0. Код выполняется, но все квадраты отображаются так, как должны, ни один из них не становится прозрачным. Пожалуйста, помогите!

Просто, чтобы вы знали, когда я распечатываю случайный элемент, который получается в поле вывода - UIImage: 0x600000d0c7e0 named (main: gridsquare3) {120, 170}

Спасибо

'''

    let cellImages: [UIImage] = [UIImage(named: "gridsquare")!,UIImage(named: "gridsquare2")!,
UIImage(named: "gridsquare3")!,
UIImage(named: "gridsquare4")!,UIImage(named: "gridsquare5")!,UIImage(named: "gridsquare6")!,UIImage(named: "gridsquare7")!,UIImage(named: "gridsquare8")!,
UIImage(named: "gridsquare9")!,]

        override func viewDidLoad() {
            super.viewDidLoad()
            collectionView.dataSource = self
            collectionView.delegate = self

            //Timer creation

            timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(timerElapsed), userInfo: nil, repeats: true)

            // Do any additional setup after loading the view.
        }

      //Mark: - Timer methods

        @objc func timerElapsed() {
            seconds -= 1
            timerLabel.text = "\(seconds)"
            if seconds <= 0 {
                timer?.invalidate()}
        }

        func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
            return cellImages.count
        }


        func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

            let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "gridCell", for: indexPath) as! CollectionViewCell

            cell.yellowSquare.image = cellImages[indexPath.item]

            let randomcell = cellImages.randomElement()
            print(randomcell!)
            if randomcell == UIImage(named: "gridsquare") {
                cell.alpha = 0
            }
            else if randomcell == UIImage(named: "gridsquare2") {
            cell.alpha = 0 }
            else if randomcell == UIImage(named: "gridsquare3") {
            cell.alpha = 0 }
            else if randomcell == UIImage(named: "gridsquare4") {
            cell.alpha = 0 }
            else if randomcell == UIImage(named: "gridsquare5") {
            cell.alpha = 0 }
            else if randomcell == UIImage(named: "gridsquare6") {
            cell.alpha = 0 }
            else if randomcell == UIImage(named: "gridsquare7") {
            cell.alpha = 0 }
            else if randomcell == UIImage(named: "gridsquare8") {
            cell.alpha = 0 }
            else if randomcell == UIImage(named: "gridsquare9") {
            cell.alpha = 0 }
            else {
                print("failure")
            }

            return cell
        }

    }
    '''

1 Ответ

0 голосов
/ 17 апреля 2020

Ответ был

cell.contentView.alpha = 0

Большое спасибо Марку из сообщества Code Crew.

Берегите себя.

...