斯威夫特UITableView在滚动动画过程中滑动
问题描述:
我环顾四周,尝试了所有我能想到的子类化TableView,但我想我错过了一些东西。我有一个TableView条目,我可以左右滑动,并且一切正常。但是,如果:斯威夫特UITableView在滚动动画过程中滑动
1)我开始(垂直)滚动一下,然后滑动,TableView
的超类ScrollView
似乎阻止从我的TableViewCell
滑动。
2)我停止滚动,但动画还没有完全停止,轻扫是仍然从TableViewCell
堵塞。
无论垂直滚动,我怎样才能让我的刷卡通过我的TableViewCell
?
答
雨燕2.2时,Xcode 7.3
我解决了这个问题基本上是在做什么,在这个线程建议:Tell ScrollView to Scroll after other pan gesture
下面是代码,应该让别人认为遇到这个线程滚动在一个表格视图,并且能够轻扫,而不必处理表格视图的平移手势识别器,由于仅仅提示垂直运动而阻止滑动。
希望它可以帮助别人。
所以(内UITableViewController
- 非 - 发出必要的代码):
var lsgr : UISwipeGestureRecognizer!
override func viewDidLoad(){
super.viewDidLoad()
self.lsgr = UISwipeGestureRecognizer(target: self, action: "didSwipeLeft:")
self.lsgr.direction = .Left
self.lsgr.cancelsTouchesInView = false
self.lsgr.delegate = self
}
func didSwipeLeft(leftSwipe: UISwipeGestureRecognizer){
var ip = self.tableView.indexPathForRowAtPoint(leftSwipe.locationOfTouch(0,inView: self.tableView))
print("swipe left - "+String(ip!.row))
}
您的问题是主要的'scrollView'(了'tableView')仍在积极的姿态参与,让另一类似的手势不被识别(并且实际上被阻止)。看看http://*.com/questions/13241736/uiscrollview-cancels-uipageviewcontroller-gestures-when-scrolling?rq=1讨论这一点。 – sschale