Тень scrollView расширяется до размера содержимого при добавлении тени

У меня есть scrollView, в котором есть origin.y = -200, size.height = 200 и contentSize.height = 270.

На главном экране у меня есть tableView с оттенком button. scrollView перемещается от верхнего к origin.y = 64. Поскольку scrollView и tableView имеют одинаковый цвет фона, я хочу, чтобы тень за пределами scrollView разделяла представления.

Но когда я устанавливаю scrollView.layer.masksToBounds = YES, он автоматически расширяется до полного contentSize, что составляет 270. Если я закомментирую maskToBounds, я не получу тени. Что мне не хватает? заранее спасибо

_addScroller.layer.shadowColor = [UIColor blackColor].CGColor;
_addScroller.layer.shadowOffset = CGSizeMake(0, 2);
_addScroller.layer.shadowOpacity = .7f;
_addScroller.layer.shadowRadius = 2;
//    _addScroller.layer.masksToBounds = NO;
CGPathRef path = [UIBezierPath bezierPathWithRect:_addScroller.frame].CGPath;
_addScroller.layer.shadowPath = path;

Это с masksToBounds = NO; он автоматически устанавливает для frame.height значение contentSize.height введите здесь описание изображения


person snksnk    schedule 12.02.2014    source источник
comment
Можете ли вы добавить скриншот?   -  person jailani    schedule 12.02.2014
comment
добавил скриншот для вас @jai   -  person snksnk    schedule 12.02.2014


Ответы (1)


Что, если вы добавите вид прокрутки в другой вид (того же размера, что и вид прокрутки, т. е. высотой 200 пикселей) и установите тень представления контейнера и maskToBounds?

Я думаю, что аналогичная ситуация в этом вопросе.

person insys    schedule 12.02.2014
comment
Я уже видел этот пост и рассматривал этот вариант. Но почему он автоматически подстраивается под contentSize? - person snksnk; 12.02.2014
comment
Не уверен, но добавление scrollView внутри представления контейнера кажется довольно распространенным способом ведения дел, по крайней мере, согласно, например. это и это. - person insys; 12.02.2014