iOS7 - 在编辑模式下更改UITableView中红色减号按钮的位置

时间:2014-02-17 18:36:58

标签: ios objective-c uitableview

我想在iOS7上的编辑模式下更改UITableViewCell中红色减号按钮的位置。我通过使用以下代码实现它,它工作正常。

for (UIView *view in cell.subviews) {

    for (UIView *subView in view.subviews) {

        if ([NSStringFromClass([subView class]) isEqualToString:@"UITableViewCellEditControl"]) {

            for (UIImageView *imageView in subView.subviews) {

                [subView.layer setMasksToBounds:NO];
                imageView.frame = CGRectOffset(imageView.frame, 0, -10);
            }
        }
    }
}

但是,我正面临着问题,它适用于所有期望第1行的行。请提供您的建议以克服此问题。

1 个答案:

答案 0 :(得分:0)

看来你正在自定义单元类的代码中做事。由于单元格不知道它自己的indexPath(并且它不应该),因此我建议在您的单元类中添加BOOL属性。在表视图控制器的cellForRowAtIndexPath方法中设置该属性。然后单元格使用属性的值来决定是否调整按钮。

BTW - 你的代码很脆弱,如果Apple更改了表格单元格的内部布局(就像过去那样),你的代码很容易停止工作。