2

並べ替えコントロールをセルの左側に移動しようとしています。カスタムセルを使用しており、セルにボタンがあります。次の関数を使用して、実際に左に移動できます。しかし、私の右ボタンはもともとデフォルトの並べ替えコントロールがある場所であるため、変換を適用した後でもアクセスできません。後ろにない部分はアクセス可能です。

参考として、次のリンクを使用し ましたhttp://b2cloud.com.au/how-to-guides/reordering-a-uitableviewcell-from-any-touch-point

左側でUITableViewCellの並べ替えコントロールを作成するには?

#pragma mark - 
#pragma mark rows reordering

- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    for(UIView* view in cell.subviews)
    {
        if([[[view class] description] isEqualToString:@"UITableViewCellReorderControl"])
        {
            UIView* resizedGripView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetMaxX(view.frame), 48)];
            [resizedGripView setBackgroundColor:[UIColor whiteColor]];
            [resizedGripView addSubview:view];
            [cell addSubview:resizedGripView];

            //  Original transform

           const CGAffineTransform transform = CGAffineTransformMakeTranslation(40 - cell.frame.size.width, 1);


            [resizedGripView setTransform:transform];
            /*for(UIImageView* cellGrip in view.subviews)
            {
                if([cellGrip isKindOfClass:[UIImageView class]])
                    [cellGrip setImage:nil];
            }*/
        }
    }
}

この画像を参照してくださいhttp://i.stack.imgur.com/xBDLG.png

並べ替えコントロールの元の場所では、セルの編集ボタンにアクセスできません。残りは正常に機能しています。

4

2 に答える 2