仅在指定部分启用 UITableView 编辑
Posted
技术标签:
【中文标题】仅在指定部分启用 UITableView 编辑【英文标题】:Enable UITableView edit only in a specified section 【发布时间】:2013-04-11 20:21:14 【问题描述】:我有一个包含 4 个部分的 tableView。我想仅在第四部分中启用编辑(移动/拖动/重新排列)单元格。当我设置:tableView.editing = YES
我让所有表格视图都处于编辑模式。这个How to limit UITableView row reordering to a section 帮助了我,因为我现在可以仅在其“根”部分内重新排列部分中的单元格。
我的意思是,如果单元格位于第一部分,那么我只能在第一部分中重新排列,而不是其他部分。我的目标是仅使用第 4 节启用编辑,因此仅将第 4 节中的单元格置于移动/拖动模式。有谁知道我该怎么做?
【问题讨论】:
【参考方案1】:你可以通过实现这个委托方法来实现这一点
-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
if (indexPath.section == 3)
return YES;
else
return NO;
【讨论】:
短版:return indexPath.section == 3
。 :)
@tkanzakic 你知道我如何记录新的单元格排列吗?
@tkanzakic 该排列将构造一个新数组,该数组将反映到按钮排列。例如cell: 1,2,3 将根据 1,2,3 将按钮排列在另一个视图中(按钮:a,b,c)。如果排列是 2,3,1,那么按钮将被排序:b,c,a..
你可以为每个单元格分配一个你想要的数字标签然后使用它
最好使用枚举而不是幻数:typedef NS_ENUM(NSInteger, MyControllerSection) MyControllerSection1,... MyControllerSectionN, MyControllerSectionCount, ;
然后return indexPath.section == MyControllerSection3;
;-)以上是关于仅在指定部分启用 UITableView 编辑的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableView 中编辑 UITextField(启用/禁用输入)?