У меня есть заголовок прозрачного раздела в UITableView, который должен позволять клеткам прокручиваться позади него, но показывать фоновое изображение, которое находится за табличным представлением вместо ячеек. Мне нужен способ применить какую-то обтравочную маску к заголовку раздела, который сделает любые виды, которые становятся прозрачными, или что-то, что отображает соответствующую часть фонового изображения в качестве фона заголовка и следует при перемещении заголовка.Маска всех представлений ниже UIView, за исключением фона
Я видел это 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);
}
в подклассе заголовка раздела, но это только показывает вид с черным фоном.
Если вам нужно больше объяснений, вот что у меня есть:
и вот что я хочу добиться:
Две вещи поражают меня по этому вопросу. Первая из них заключается в том, что у вас, вероятно, неправильная иерархия просмотров. Во-вторых, похоже, что вы пытаетесь сделать какой-то продвинутый рисунок в UIKit, где вы, вероятно, должны использовать SpriteKit или что-то в этом роде. Мне не нравится ваш подход, пытаясь замаскировать другие взгляды между ними, чтобы пройти фоновое шоу. Вероятно, лучше взять фоновое изображение и снова поместить его за плавающее представление, возможно, компенсируя его с помощью границ. Изучите разницу между манипулированием рамкой и границами. – rage
Возможно, мне следовало бы объяснить это лучше: проблема связана с прозрачным заголовком раздела в UITableView, который должен позволять клеткам прокручиваться под ним, но показывать фон вместо ячеек. Я добавлю эту информацию в исходный вопрос для уточнения. – damjandd
Хорошо, тогда я пошел бы с моим предложением: снова возьмите фоновое изображение, примените его к заголовку заголовка раздела и сметите его с помощью границ. – rage