2015-10-25 35 views
2

我有一个UITableViewController,此时用户可以在单元格上向左滑动以显示“添加到收藏夹”按钮。我现在想给单元格添加一个图标,用户可以点击该图标来显示该按钮(与向左滑动相同)。这只会作为一种视觉帮助,不知道向左滑动的用户会做同样的事情。如何在TAP上编辑tableview单元而不是滑动 - Swift

对于我TableView,我使用下面的代码为“关闭单元”,当用户按下了按钮:

itemsTableView.setEditing(false, animated: true) 

从这个我认为手动打开电池我会简单地调用:

//Get cell 
let cell:TableViewCell = itemsTableView.cellForRowAtIndexPath(NSIndexPath(forRow: 
sender.tag, inSection: 0)) as! TableViewCell 

//Open cell to reveal button 
cell.setEditing(true, animated: true) 

不幸的是,这是行不通的。所以我想知道当用户滑动到单元格左侧时调用的函数是什么,以及当用户点击图标时如何复制它。

+0

“当用户滑动到单元格左侧时调用的函数是什么,以及当用户点击图标时如何复制它”您告诉我们这一点。你说用户可以向左滑动。你以某种方式实现了。那么,怎么样? – matt

+0

@matt我什么都不叫。当我实现'tableView(tableView:UITableView,editActionsForRowAtIndexPath indexPath:NSIndexPath)'来设置我的自定义动作时,这将激活'滑动编辑'功能。这就是我所做的一切。我期待任何想要在这个问题上添加输入的人都已经知道......如果只是简单地称为“当用户滑动时调用的函数”,我会不会问这个问题? –

+0

不要小觑。还有很多其他的方法可以做到这一点;我需要知道你正在使用'editActions ...'。现在你已经回答了。这是难题的一部分。 – matt

回答

3

我不认为你会做到这一点,对不起。该功能依赖于UITableView的平移手势识别器。当用户横向摆动时,表格视图将检查editActions...委托方法,如果我们有编辑操作,则在单元格后面插入一个私人确认视图,并允许移动单元以显示它。据我所知,您无法以编程方式触发该行为。

这将成为坚持使用第三方可滚动单元类的原因之一 - 许多非常好的理由之一。这样,单元格就是一个水平滚动视图,您只需在代码中滚动即可。

+0

啊,这是一个耻辱。难怪我找不到办法做到这一点!谢谢一堆! –

+0

我使用View Debugger和LLDB进行了一系列探索,试图找出这个特性的工作原理,这就是我所想到的。如果在这里有一个滚动视图,我们可以尝试在代码中滚动它,但是没有一个(至少,在任何时候都是静止的时候)。 – matt

+0

非常感谢您的帮助,非常感谢! –

相关问题