Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在编辑模式下更改UITableViewCell中红色减号按钮的位置_Ios_Objective C_Uitableview_Ios7 - Fatal编程技术网

Ios 在编辑模式下更改UITableViewCell中红色减号按钮的位置

Ios 在编辑模式下更改UITableViewCell中红色减号按钮的位置,ios,objective-c,uitableview,ios7,Ios,Objective C,Uitableview,Ios7,这段代码在iOS 5和iOS 6上的UITableViewCell子类中运行良好: if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellEditControl"]) { CGRect newFrame = subview.frame; //Use your desired x value newFrame.origin.x = 280; s

这段代码在iOS 5和iOS 6上的UITableViewCell子类中运行良好:

if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellEditControl"]) {
        CGRect newFrame = subview.frame;
        //Use your desired x value
        newFrame.origin.x = 280;
        subview.frame = newFrame;    
}
在iOS 7上调试我的应用程序时,我发现上面的所有子视图都被称为
UITableViewCellContentView
,并且无法知道
UITableViewCellEditControl
子视图在哪里


是否有更好的解决方案来执行上述操作?

调试时,我发现iOS 7中的所有子视图现在都称为“UITableViewCellEditControl”。我尝试记录所有子视图子视图,发现
UITableViewCellEditControl
现在是子视图的子视图。这是一个丑陋的临时解决方案:

for (UIView *subview in self.subviews)
    {
        if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellEditControl"]) {
            CGRect newFrame = subview.frame;
            newFrame.origin.x = 280;
            subview.frame = newFrame;
        }
        else
        {
            if(IS_OS_7_OR_LATER)
            {
                for(UIView *subsubview in subview.subviews)
                {
                    if ([NSStringFromClass([subsubview class]) isEqualToString:@"UITableViewCellEditControl"]) {
                        CGRect newFrame = subsubview.frame;
                        newFrame.origin.x = 280;
                        subsubview.frame = newFrame;
                    }
                }
            }
        }

尝试对子视图进行递归检查。@santhu已经这样做了,并发现
UITableViewCellEditControl
位于子视图的子视图中。我已经发布了一个答案,谢谢。我曾经遇到过这个问题来破解子视图的子视图。但人们说如果我们这样做,应用程序可能会被苹果拒绝。@santhu现在我看不到其他方法来解决这个问题我们只能等待,看看这个应用的更新是否会被拒绝。@Segev你通过应用商店的审核了吗?