私は少しの助けが必要です。誰かがフリスビーをどれくらい投げることができるかに基づいて、スライダを使ってその値を使用して、私がarrayToUse変数に渡している推奨事項の配列をコピーして、UIButtonを作成します。 VCはscrollViewを使用します。ユーザーは再びスライダを動かして別の距離を選択し、提出することができ、新しい距離に基づいて異なる配列をロードします。私の問題は、彼らが最初のものより少ない画像で新しい配列を選んだ場合、私は以前の画像を消す方法を知らないということです。ビューのデバッグ階層でトップレイヤーの下に表示されていますが、より長い配列が下にあるため、スクロールビューの最後にスクロールできる画像があるかのように表示されます。以前の配列を却下して、送信ボタンを押したときに新しい配列をロードする方法はありますか?私はこれを聞いていた場合新しい配列がスクロールビューに配置されるように選択されたときに、forループを介してscrollviewに配置されたUIButtonsを削除するにはどうすればよいですか?
for i in 0..<arrayToUse.count {
let imageView = UIButton()
imageView.setImage(arrayToUse[i].image, for: .normal)
imageView.contentMode = .scaleAspectFit
let xPosition = (self.view.frame.width - 60) * CGFloat(i)
imageView.frame = CGRect(x: xPosition + 30, y: view.frame.height - self.scrollView.frame.width + 30, width: self.scrollView.frame.width - 60 , height: self.scrollView.frame.width - 60)
scrollView.contentSize.width = (scrollView.frame.width * CGFloat(i + 1)) - (CGFloat(60 * i))
scrollView.addSubview(imageView)
imageView.addTarget(self, action: #selector(discSelectionVC.buttonTapped(_:)), for: .touchUpInside)
imageView.tag = i
}
私が提供したコードに追加のロジックを追加しなかったのですが、これは私が望んでいたものとまったく同じです。ごめんなさい。 – user7411538
ありがとう私はあなたのために働いてうれしいです! –