【发布时间】:2015-03-17 06:57:51
【问题描述】:
我正在尝试添加滑动手势(左/右)以隐藏/显示我的侧边菜单。 我让它在 UIView 上完美运行,但是,我在使用 UITableView 时遇到了问题。
这是我将滑动手势添加到 TableView 的代码:
// Add right swipe gesture recognizer
let rightSwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "toggleSideMenu")
rightSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.Right
self.timelineTableView.addGestureRecognizer(rightSwipeGestureRecognizer)
// Add left swipe gesture recognizer
let leftSwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "toggleSideMenu")
leftSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.Left
//sideMenuContainerView.addGestureRecognizer(rightSwipeGestureRecognizer)
self.timelineTableView.addGestureRecognizer(leftSwipeGestureRecognizer)
这是我的选择器方法:
func toggleSideMenu() {
println("ENTER SWIPE")
toggleSideMenuView()
}
我也做过这个:
func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle.None
}
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return false
}
但是,当我向左或向右滑动时,我的选择器菜单“toggleSideMenu()”永远不会被调用。
P.S:我也尝试直接在我的 UITableViewCell 上添加这些滑动手势,但效果不佳。
有人有想法吗?非常感谢您的宝贵时间!
【问题讨论】:
-
rightSwipeGestureRecognizer.delegate = self;
-
在我的项目中,这个函数是用这个代码调用的..
-
你的tableview是否实现了滑动删除?
-
感谢基里特·莫迪!我必须添加委托方法 shouldRecognizeSimultaneouslyWithGestureRecognizer 以返回 true 以使其也能正常工作!
标签: ios uitableview swift uigesturerecognizer uiswipegesturerecognizer