新增“滑动删除”功能但并非在所有细胞中
我想在我的表格视图中添加“滑动删除”的可能性,但我不希望将其用于表格的最后一个单元格!
如果indexPath.row是最后一个,我可以检查 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
,但我想要的是如果用户在最后一个单元格上滑动,则不会出现任何内容(而在其他单元格中会出现文本“删除”)。
我已经尝试过这个
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row != ([array count]-1)) {
return @"delete";
}
else {
NSString *a;
return a;
}
}
,但当然它不起作用(应用程序崩溃)。 我已经尝试过
return @"";
,但出现了红色按钮(没有文字)!
你有什么建议我? 谢谢!
I want to add in my tableview the possibility to "swipe to delete", but I don't want this for the last cell of the table!
I can check in - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
if the indexPath.row is the last one, but what I want is that if the user swipes on the last cell, nothing will appear (while in the others cells appears the text "delete").
I've tried this
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath{
if (indexPath.row != ([array count]-1)) {
return @"delete";
}
else {
NSString *a;
return a;
}
}
but of course it doesn't works (the app crashes).
I've tried with
return @"";
but the red button appears (with no text)!
What do you suggest me?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试
Try
由于您返回未初始化的指针,应用程序崩溃。但即便如此,你还是做错了;-)
你想实现 tableView:editingStyleForRowAtIndexPath: 并为除最后一个单元格之外的所有单元格返回
UITableViewCellEditingStyleDelete
。您需要为最后一个单元格返回UITableViewCellEditingStyleNone
以防止其被删除。The app crashes since you return an uninitialized pointer. But even then, you're doing it wrong ;-)
You want to implement tableView:editingStyleForRowAtIndexPath: and return
UITableViewCellEditingStyleDelete
for all cells, except for the last. You need to returnUITableViewCellEditingStyleNone
for the last cell to prevent that it can be deleted.