ios - 删除按钮被自定义单元格覆盖

标签 ios xcode ios8

enter image description here

我在我的一个项目中遇到了问题。我有一个如图所示的表格 View 。我的问题是我的自定义单元格背景与 UITableView 删除按钮重叠。谁能帮我把它放在前面。

  1. 我使用了以下代码,但一些开发人员说如果我们使用该代码,Apple 可能会拒绝您的应用

    - (void)layoutSubviews
    {
        [super layoutSubviews];
    
        for (UIView *subview in self.subviews) {
            for (UIView *subview2 in subview.subviews) {
                //NSLog(@"confirm is %@",[subview2 class]);
                if ([NSStringFromClass([subview2 class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"])
                {
                    // move delete confirmation view
                    [subview bringSubviewToFront:subview2];
                } else if ([NSStringFromClass([subview2 class]) isEqualToString:@"_UITableViewCellActionButton"])
                {
                    [subview bringSubviewToFront:subview2];
                }
            }
        }
    }
    
  2. 另一个问题是下面的代码只适用于 iOS 7 但不适用于 iOS 8。

  3. 如果我将 - (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath; 方法设置为 YES 我没有问题,但我们不想缩进。

任何想法都可能非常有帮助。

最佳答案

UITableViewCell subview 的层次结构在 iOS 7 和 iOS 8 中不同,请尝试我的解决方案。

- (void)layoutSubviews {

    [super layoutSubviews];

    for (UIView *subview in self.subviews) {

        // for iOS 8
        if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {
            [self bringSubviewToFront:subview];
            return;
        }



        // for iOS 7
        for (UIView *subview2 in subview.subviews) {
            if ([NSStringFromClass([subview2 class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {
                [subview bringSubviewToFront:subview2];
                return;
            }
        }

    }
}

关于ios - 删除按钮被自定义单元格覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26798116/

相关文章:

c++ - 强制在 Mac 上对 C++ 代码使用前向声明(使用 Xcode)

ios - 创建图像的.Zip文件

ios - SwiftUI:带有 TextView 的混合模式使重叠区域变为白色,其余区域变为黑色

ios - 需要帮助在多个 View 上实现滚动条

ios - AppDelegate Touch3D Xcode - TabBar

ios - 如何在 iOS 8 上检测预测文本

swift - Swift beta7 中的 NSString.sizeWithAttributes()

ios - 不同的 iOS 版本使用不同的 Info.plist 文件?

c++ - 类 Hook - Mobile Substrate 返回值

ios - iOS vDSP 的 FFT 不对称