我做了一个滚动视图,并制作了一个图像数组(我将稍后添加一个选项,用户将图像发布到该数组中,朋友图像将填充到该数组中)以及希望让用户能够看到照片并跟踪它。
ScrollView删除基于位置的图像
我已经创建了一个for循环,将照片添加到数组中,但是当我创建一个if语句来取出数组中的项目时,出现错误,因为我会从数组中删除图像[i]而且我知道为什么会发生这种情况,但是想要解决这个问题。所以基本上我需要在数组中取出图像。
请帮我解决我还在学习。
class ViewController: UIViewController {
var imageArray = [UIImage]()
@IBOutlet weak var mainScrollView: UIScrollView!
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)
}
for i in 0..<imageArray.count {
if (i >= 2) {
imageArray.remove(at: (i - 2))
}
}
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
谢谢老乡们,更好的程序员。
我真的不明白你在这里做什么。你能再解释一下吗?这是你的所有代码吗? –
几乎是啊,用户拖动图像后,他们只是轻扫一下图像应该删除,但我做了2个图像,而不是最后一个图像 –
因此,基本上你想删除视图的图像,以便用户不能回滚到它?如果是这样,你怎么检测这一切?代码在哪里查找用户何时滚动浏览图像,以便删除它? –