Objective c tableview上的setediting=true是否使单元格访问视图消失?
我在每个tableview单元格上都有一个UISwitchView,并希望允许对单元格进行重新排序。问题是,当我在桌上视图上设置setEditing=true时,附件(switchview)消失。有什么办法可以同时保持这两种状态吗 编辑Objective c tableview上的setediting=true是否使单元格访问视图消失?,objective-c,ios,uitableview,Objective C,Ios,Uitableview,我在每个tableview单元格上都有一个UISwitchView,并希望允许对单元格进行重新排序。问题是,当我在桌上视图上设置setEditing=true时,附件(switchview)消失。有什么办法可以同时保持这两种状态吗 编辑 static NSString *CellIdentifier = @"Edit Sources Cell"; UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:C
static NSString *CellIdentifier = @"Edit Sources Cell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell...
NSUInteger row = [indexPath row];
Source *source = [self.sources objectAtIndex:row];
cell.textLabel.text = source.name;
UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
switchView.tag = row;
cell.accessoryView = switchView;
[switchView setOn:source.switchedOn animated:NO];
[switchView addTarget:self action:@selector(switchChangedForSource:) forControlEvents: UIControlEventValueChanged] ;
我认为您需要对tableview单元格进行子类化。如果
self,则通过编程将ui开关
向左移动。对于UITableViewCell
子类,isEditing
是肯定的。如果您的意思是它在重新排序控制下消失,如果您正在添加代码中的开关,则可以通过调整autoresizingMask
属性将其重新定位到其他位置,如果您在IB中构建了它,则可以通过图形方式调整自动调整大小。是的,有办法保留它们
您应该创建一个自定义单元格视图,您可以将每个UI元素添加到此自定义单元格,包括切换视图(或其他任何内容),当您设置表的编辑为真时,您不会有问题,因为在自定义单元格视图上UI元素不会消失
标准表格单元格的UI元素不是由您控制的,这就是为什么您同时只能看到一个内置附件的原因。使用自定义单元视图时,将永远不会发生这种情况
我希望您熟悉自定义单元格视图,但如果您不熟悉,我也可以提供准确的代码,但我的想法是这样的。UITableViewCell还有一个附加属性,
editingAccessoryView
,用于在单元格处于编辑模式时显示的视图
我不知道您是否可以将相同的UISwitch实例分配给
accessoryView
和editingAccessoryView
属性,或者是否需要创建两个实例。(一个视图一次只能有一个父视图,但UITableViewCell实际上正在执行显示视图的工作,因此它可能足够聪明,可以处理这种情况。)我尝试过对其帧进行mving,设置自动调整大小掩码,但它根本没有出现。似乎设置editing size=true就是将accessoryView设置为none?我相信我目前使用的是自定义单元格视图(来自故事板)。我已经添加了switchview作为自定义单元格的附件类型请参见我的问题中的编辑好的,我所做的工作很好:1。将样式设置为自定义;2.将开关视图添加到自定义单元格中;3.将附件
和“编辑附件”设置为无
;四,。开关视图在[self.tableview setEditing:true]
之后不会消失。。。很难说为什么它对您是错误的,因为我没有在界面生成器中看到UI设置。