Я хочу создать подкласс UITableView или UIScrollView который будет иметь некоторое затенение сверху, когда смещение содержимого> 0 означает, что контент прокручивается. (См. Изображение прилагается) 
То, как я реализую это сейчас, - это использовать UIViewController который является делегатом tableView. У меня просто есть GradientView поверх tableView, и я перехватываю scrollViewDidScroll: для анимации видимости этого верхнего градиента.
Моя проблема с этой реализацией заключается в том, что она не "чиста". Я хочу, чтобы мои UIViewControllers позаботились о логике, а не UIViewControllers применения градиентов и т.д. Хотел бы я просто удалить подкласс UITableView, который сделает это для меня.
Проблема для меня заключается в том, что я не могу понять, как tableView может добавить к себе фиксированный контент поверх прокручиваемого содержимого.
Другой вопрос: какой метод /UIScrollView я должен переопределить для перехвата события прокрутки. Очевидно, я не хочу, чтобы tableView был делегатом сам по себе...
Есть идеи?
Благодарю!