[英]Delete image out of array at given index
我创建并初始化了从图像数组中提取的滚动视图。 因此,用户先滑动一张照片,然后再滑动另一张照片,然后我需要根据当前图像的位置删除该图像,我创建了一个for循环,该循环删除了图像i-在数组中,但这会崩溃,因为我可以t删除i。 有没有办法可以做到这一点? 谢谢:这是我的代码
class ViewController: UIViewController {
var imageArray = [UIImage]()
@IBOutlet weak var mainScrollView: UIScrollView!
func scrollViewDidScroll(_ scrollView: UIScrollView) {
for i in 0..<imageArray.count {
if i >= 3 {
imageArray.remove(at: i - 2)
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
mainScrollView.frame = view.frame
imageArray = [#imageLiteral(resourceName: "dubai6"), #imageLiteral(resourceName: "dubai2"), #imageLiteral(resourceName: "dubai7"), #imageLiteral(resourceName: "dubai4"), #imageLiteral(resourceName: "dubai3"), #imageLiteral(resourceName: "dubai5"), #imageLiteral(resourceName: "DigitalDrawingPreview"), #imageLiteral(resourceName: "denarus"), #imageLiteral(resourceName: "dubai1")]
for i in 0..<imageArray.count {
let imageView = UIImageView()
imageView.contentMode = .scaleAspectFit
imageView.image = imageArray[i]
let xPosition = self.view.frame.width * CGFloat(i)
imageView.frame = CGRect(x: xPosition, y: 0, width: self.view.frame.width, height: self.mainScrollView.frame.height)
mainScrollView.contentSize.width = mainScrollView.frame.width * CGFloat(i + 1)
mainScrollView.addSubview(imageView)
}
我建议不要使用UITableView或UICollectionView,而不要使用UIScrollView。 管理数据模型然后调用table.reloadData()
非常容易。
您将使用ScrollViewDelegate方法scrollViewDidScroll(_ scrollView)
来跟踪滚动位置,并在滚动足够远后强制重新加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.