防止UITableviewcell在重新排序期间变得透明

Sea*_*Lee 16 transparent uitableview

我试图在重新排序动画期间保持我的uitableviewcells不透明 - 原因是我在一个视图中自定义绘制单元格以增强滚动性能,但这样做会显着减慢重新排序动画.

知道怎么做到这一点?

Sen*_*ful 9

有关表格处于拖动模式时正在进行的操作的详细说明,请参阅此答案.

我在iOS 7上有一个UITableViewStyleGrouped.为了获得理想的效果(非透明,白色背景),我不得不遵循Aaron的建议和bmovement的.

@interface ABCCell : UITableViewCell

@end

@implementation ABCCell

- (id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];
    if (self) {
        self.backgroundView = [UIView new];
        self.backgroundView.backgroundColor = [UIColor whiteColor];
    }
    return self;
}

- (void)setAlpha:(CGFloat)alpha {
    [super setAlpha:1.0];
}

@end
Run Code Online (Sandbox Code Playgroud)

不这样做会导致视图具有100%透明背景.

仅设置背景视图会使单元格具有80%透明的白色背景.

仅设置alpha会导致单元格具有黑色背景(0%透明).

实现两者,为您提供白色背景(0%透明).


Sea*_*Lee -1

感觉自己问这个问题很蠢XD

我刚刚发现在我的drawrect 函数中,我可以覆盖alpha 值。所以,在绘图开始时,我只是设置 self.alpha = 1.0f,瞧,我的单元格在所有模式下都是不透明的,包括在重新排序的中间。