我似乎无法让我的刷卡手势识别器为表视图单元格内的图像视图工作。
我已经确认images.count>1。
if images.count > 0 {
let imageUrlString = images[0] as String
let imageUrl = NSURL(string: imageUrlString)
imageCell.cellImageView.sd_setImageWithURL(imageUrl, placeholderImage: UIImage(named: "placeholder"))
if images.count > 1 {
let swipeRightGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeRight))
swipeRightGestureRecognizer.direction = .Right
imageCell.cellImageView.addGestureRecognizer(swipeRightGestureRecognizer)
let swipeLeftGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipeLeft))
swipeLeftGestureRecognizer.direction = .Left
imageCell.cellImageView.addGestureRecognizer(swipeLeftGestureRecognizer)
}
} else {
imageCell.cellImageView.image = UIImage(named: "placeholder")
}
旋转和旋转
func swipeLeft(sender: UISwipeGestureRecognizer) {
imageView = sender.view as! UIImageView
transition.subtype = kCATransitionFromRight
imageView.layer.addAnimation(transition, forKey: nil)
if imageIndex == images.count - 1 {
let urlString = images[0] as String
let url = NSURL(string: urlString)
imageView.sd_setImageWithURL(url, placeholderImage: UIImage(named: "placeholder"))
imageIndex = 0
} else {
let urlString = images[imageIndex + 1] as String
let url = NSURL(string: urlString)
imageView.sd_setImageWithURL(url, placeholderImage: UIImage(named: "placeholder"))
imageIndex += 1
}
}
func swipeRight(sender: UISwipeGestureRecognizer) {
imageView = sender.view as! UIImageView
transition.subtype = kCATransitionFromLeft
imageView.layer.addAnimation(transition, forKey: nil)
if imageIndex == 0 {
let urlString = images.last! as String
let url = NSURL(string: urlString)
imageView.sd_setImageWithURL(url, placeholderImage: UIImage(named: "placeholder"))
imageIndex = images.count - 1
} else {
let urlString = images[imageIndex - 1] as String
let url = NSURL(string: urlString)
imageView.sd_setImageWithURL(url, placeholderImage: UIImage(named: "placeholder"))
imageIndex -= 1
}
}
最佳答案
//imageview默认的userinteractionenable属性设置为false,因此需要将其设置为userinteractionenable=true
imageCell.cellImageView.userInteractionEnabled =true