10 iphone cocoa-touch objective-c uitableview
我有一个使用uitableview的iphone应用程序,我希望始终显示"重新排序"控件,并让用户滑动以删除行.
我目前采用的方法是将tableview置于编辑模式,并允许在编辑模式下进行选择
self.tableView.editing = YES;
self.tableView.allowsSelectionDuringEditing = YES;
Run Code Online (Sandbox Code Playgroud)
然后我使用隐藏红色删除圆圈
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
Run Code Online (Sandbox Code Playgroud)
当tableview已经处于编辑模式时,我无法弄清楚如何获取滑动手势以在右侧显示"删除",有人可以指向正确的方向吗?
或者,如果有人知道如何让单元重新排序控件显示何时不处于编辑模式,那么这也是一个可行的解决方案
干杯
当用户在给定行上滑动时,您需要在某处存储引用,以便可以更改 和 返回的editingStyleForRowAtIndexPath值shouldIndentWhileEditingRowAtIndexPath。您最好的选择可能是indexPathForCell在被刷卡的单元格上使用并存储它。然后在上面的两种显示方法中,您需要检查是否NSIndexPath相同(我不确定它们是否是相同的指针,或者您是否需要比较部分/行值 - 需要测试)。如果匹配,则显示删除按钮。
请注意,您可能需要调用reloadDatatableView 才能显示效果,而无需滚动并再次返回。
| 归档时间: |
|
| 查看次数: |
2139 次 |
| 最近记录: |