Iphone 更改UITABLE视图中删除按钮的位置 我使用表视图,我使用不同的单元大小,但是当我删除单元格时,它显示在常数位置,而不是在单元格的中间。对于自定义的“删除”按钮位置,我应该做些什么?

Iphone 更改UITABLE视图中删除按钮的位置 我使用表视图,我使用不同的单元大小,但是当我删除单元格时,它显示在常数位置,而不是在单元格的中间。对于自定义的“删除”按钮位置,我应该做些什么?,iphone,uitableview,Iphone,Uitableview,这真的很有意思,但我不久前发现了这段代码: - (void)willTransitionToState:(UITableViewCellStateMask)state { [super willTransitionToState:state]; if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationM

这真的很有意思,但我不久前发现了这段代码:

- (void)willTransitionToState:(UITableViewCellStateMask)state {

    [super willTransitionToState:state];

    if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) {

        for (UIView *subview in self.subviews) {

            if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {             

                subview.hidden = YES;
                subview.alpha = 0.0;
            }
        }
    }
}

- (void)didTransitionToState:(UITableViewCellStateMask)state {

    [super willTransitionToState:state];

    if (state == UITableViewCellStateShowingDeleteConfirmationMask || state == UITableViewCellStateDefaultMask) {
        for (UIView *subview in self.subviews) {

            if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {

                UIView *deleteButtonView = (UIView *)[subview.subviews objectAtIndex:0];
                CGRect f = deleteButtonView.frame;
                f.origin.x -= 20;
                deleteButtonView.frame = f;

                subview.hidden = NO;

                [UIView beginAnimations:@"anim" context:nil];
                subview.alpha = 1.0;
                [UIView commitAnimations];
            }
        }
    }
}

基本上,您将剥离子视图,直到找到“删除”按钮。我还建议不要显示默认的删除按钮,而是使用您自己的自定义删除按钮。

这真的很有意思,但我不久前发现了这段代码:

- (void)willTransitionToState:(UITableViewCellStateMask)state {

    [super willTransitionToState:state];

    if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) {

        for (UIView *subview in self.subviews) {

            if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {             

                subview.hidden = YES;
                subview.alpha = 0.0;
            }
        }
    }
}

- (void)didTransitionToState:(UITableViewCellStateMask)state {

    [super willTransitionToState:state];

    if (state == UITableViewCellStateShowingDeleteConfirmationMask || state == UITableViewCellStateDefaultMask) {
        for (UIView *subview in self.subviews) {

            if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) {

                UIView *deleteButtonView = (UIView *)[subview.subviews objectAtIndex:0];
                CGRect f = deleteButtonView.frame;
                f.origin.x -= 20;
                deleteButtonView.frame = f;

                subview.hidden = NO;

                [UIView beginAnimations:@"anim" context:nil];
                subview.alpha = 1.0;
                [UIView commitAnimations];
            }
        }
    }
}

基本上,您将剥离子视图,直到找到“删除”按钮。我还建议不要显示默认的删除按钮,而是使用您自己的自定义删除按钮。

视图中重新加载表格将出现
。它将在删除记录后重新加载表

[super viewWillAppear:animated];
//  [self.tableView reloadData ];
[tblSimpleTable reloadData];

视图中重新加载表格将出现
。它将在删除记录后重新加载表

[super viewWillAppear:animated];
//  [self.tableView reloadData ];
[tblSimpleTable reloadData];

aft删除按钮u只需重新加载tableview!!aft删除按钮u只需重新加载tableview!!