iTableViewCell编辑模式下的左圆圈显示在iOS8中

iTableViewCell编辑模式下的左圆圈显示在iOS8中,ios,uitableview,ios8,Ios,Uitableview,Ios8,所以我只是安装了Xcode 6GM,在运行iOS8的模拟器上摆弄我的iOS7应用程序 我有一个处于编辑模式的UITableView,现在单元格左侧有一个圆圈,在iOS7上运行时不会出现 我浏览了iOS8的文档,但没有看到任何新的常量,我正在使用UITableViewCellEditingStyleNone和UITableViewCellSelectionStyleNone 当tableView.editing=NO时,该圆圈消失,同时允许MultipleSelectionDuringeditin

所以我只是安装了Xcode 6GM,在运行iOS8的模拟器上摆弄我的iOS7应用程序

我有一个处于编辑模式的
UITableView
,现在单元格左侧有一个圆圈,在iOS7上运行时不会出现

我浏览了iOS8的文档,但没有看到任何新的常量,我正在使用
UITableViewCellEditingStyleNone
UITableViewCellSelectionStyleNone

当tableView.editing=NO时,该圆圈消失,同时允许MultipleSelectionDuringediting=YES

如果有人能告诉我发生了什么,那就太好了:)

编辑:从XCode6GM编译到运行iOS7.1的iPhone上也给了我一个循环。我怀疑XCode6GM有bug

以下是带有圆圈的屏幕截图:


在将我的应用程序迁移到iOS8时,我遇到了这个恼人的问题

这是我找到的解决方法。。。在UITableViewCell子类中添加如下内容:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];
    for( UIView* subview in self.subviews )
        if( [NSStringFromClass(subview.class) isEqualToString:@"UITableViewCellEditControl"] )
            subview.hidden = YES;
}

我希望这将很快被记录/修复…

我想我有一个更好的解决方案,将此代码添加到您的自定义uitableviewcell:

- (void)addSubview:(UIView *)view {
    [super addSubview:view];
    if( [NSStringFromClass(view.class) isEqualToString:@"UITableViewCellEditControl"] ) {
        view.hidden = YES
    }
}

以下是结合两个答案的快速解决方案:

override func addSubview(view: UIView) {
    super.addSubview(view)
    if view.isKindOfClass(NSClassFromString("UITableViewCellEditControl")!) {
        view.hidden = true
    }
}

以下是Swift3版本:

override func addSubview(_ view: UIView) {
    super.addSubview(view)
    if view.classAsString() == "UITableViewCellEditControl" {
        view.isHidden = true
    }
}

您是否能够显示“左圆圈”的屏幕截图。请参考,UIView中添加了一个新属性,用于所有从该属性继承的对象。可能是你提到的“左圆圈”。看:@Ricky好像不是。。这就像索引为3的未记录UITableViewEditingStyle,当选中时,它会给您一个带有复选标记的圆圈,但奇怪的是我甚至无法让它“检查”。我花了一个小时浏览新的文档,又花了一个小时摆弄,然后才决定发布(以防其他有轻微不同问题的人发现)。我也被重叠的圆圈所困扰,但我想利用它。然后我想起我已经实现了以下内容:
-(BOOL)tableView:(UITableView*)tableView应该在编辑rowatindexpath:(nsindepath*)indepath{return NO;}
的时候被修改为
YES
,一切都很好。UITableViewCellEditControl?嗯。。。但干得好!:)这是一个很好的解决方法,当表格将allowsMultipleSelectionDuringEditing设置为YES时,这似乎是摆脱这些灰色圆圈的唯一方法。我在上面添加了一些小东西:首先,使用-if(NSFoundationVersionNumber>NSFoundationVersionNumber_iOS_7_1){}包装iOS8。第二,当第一个子视图被隐藏时,添加一个中断以退出循环。这可能有风险,谁知道系统使用该子视图的目的是什么。我更喜欢原始答案,它只会使视图隐藏,而在层次结构中保持不变。@VitaliTchalov是的,也许您可以在这里设置其隐藏属性,而不是绕过“addSubview”调用。UIView类型的值没有成员classAsString