掩盖除背景之外的UIView下面的所有视图

时间:2017-02-06 10:58:46

标签: ios uitableview uiview calayer mask

我在UITableView中有一个透明的节头,它应该让单元格在它后面滚动,但是显示在tableview后面的背景图像而不是单元格。我需要一种方法来对截面标题应用某种剪切蒙版,这样可以使任何视图在其下方透明,或者显示背景图像的适当部分作为标题的背景并在标题后面跟随移动。

我已经看过这个How to mask UITableViewCells underneath a UITableView Transparent Header,但它并不像宣传的那样有效,而且通常是一个糟糕的实现。

我也试过这个:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);
    CGContextFillRect(context, self.frame);
    CGContextSetBlendMode(context, kCGBlendModeClear);
}

在节标题的子类中,但这只是显示黑色背景的视图。

如果您需要更多解释,请参阅以下内容:

http://imgur.com/a/YM5Us

这就是我想要实现的目标:

http://imgur.com/a/o9CgL

1 个答案:

答案 0 :(得分:0)

我在游戏中完成了类似的任务。 SpriteKit具有出色的性能,因为它具有内置功能。<​​/ p>

您可以将SpriteKit与UIKit混合,但使用SpriteKit作为背景&amp;不是你需要的另一种方式,因为SKView不能有透明的背景。

我认为你应该create a custom header viewchange the displaying of the cell