UITableViewCell,删除按钮框架?

时间:2011-07-28 15:21:15

标签: iphone objective-c cocoa-touch uitableview

有没有办法改变[DELETE]上使用的“滑动”UITableViewCells按钮的框架?目前它在细胞内垂直居中,但如果可能的话,我想把它移到青色指南节目中。

enter image description here

3 个答案:

答案 0 :(得分:15)

如果您正在寻找一种解决此问题的强烈方法,那么您应该继承UITableViewCell的子类并覆盖所有状态处理方法以正确绘制您自己的删除按钮(不要在这些方法中调用super) 。但还有另一种简单的方法:

@implementation CustomCell
- (void)layoutSubviews {
       [super layoutSubviews];
       if (self.showingDeleteConfirmation) {
             if ([self.subviews count] < 4) return;
             UIView *delBtn = [self.subviews objectAtIndex:3];
             delBtn.frame = CGRectOffset(delBtn.frame, 0, 10);
       }
}
@end

答案 1 :(得分:0)

而不是didTransitionToState:

如何使用-(void)willTransitionToState:并设置editingAccessoryView的框架?

- (void)willTransitionToState:(UITableViewCellStateMask)state
{
    if (state == UITableViewCellEditingStyleDelete) 
    {

        NSInteger num = 10;

        UIView.frame = CGRectMake(UIView.frame.origin.x,UIView.frame.origin.y - num,
        UIView.size.width,UIView.size.height);
    }
}

答案 2 :(得分:-2)

尝试更改附件视图的框架