Я еще не проверял это, но я не вижу причин, почему это было бы невозможно.
Просто убедитесь, что вы установили правильное значение bounds
(потому что ваша тень должна быть сверху вашего обзора, а не над ним).
Вы можете использовать следующий подход:
- Используйте
scrollView:didScroll:
, чтобы получать уведомления о событиях прокрутки.
- В этом методе проверьте, нужно ли вам добавить теневое представление в ваше (плавающее) представление заголовка.
- Если это так, добавьте его. (просто
[view addSubview:shadowView]
.) Что-то вроде CGRectMake(0.f, yourDefaultHeaderHeight, 320.f, yourShadowHeight)
должно быть frame
вашего shadowView
.
- Теперь обновите
bounds
из view
, чтобы он мог показать ваш shadowView
: CGRectMake(0.f, 0.f - yourShadowHeight, 320.f, yourDefaultHeaderHeight + 2 * yourShadowHeight)
.
- Когда вы обнаружите, что ваш заголовок больше не плавает (с помощью
scrollView:didScroll:
), удалите теневое представление.
Ваше headerView
с bounds
должно быть 0.f - yourShadowHeight
, потому что если вы используете просто 0.f
, оно будет размытым (я не знаю почему ...).