Рисование тени под UIScrollView (который прокручивает UIView) - PullRequest
1 голос
/ 05 июня 2009

Моя настройка - это UIScrollView в центре экрана (на iPhone - как 300x400, расположенный в центре), который содержит UIView такой же ширины, поэтому он прокручивает его по вертикали. В этом UIView я рисую собственные подпредставления с метками и т. Д. (Это табло с различными цветами).

Мне бы хотелось, чтобы под UIScrollView была какая-то тень, чтобы табло с прокруткой плавало на моем фоне.

Я нашел этот хороший пост Как нарисовать тень под UIView? Я использую этот код в своем подклассе ScrollView, но он не работает для меня. Возможно, потому что я не рисую реальные фигуры в drawRect ScrollView: (так как они нарисованы в UIView).

Также я предполагаю, что для того, чтобы иметь прокрутку вида в ScrollView и тень от ScrollView вне области прокрутки, я думаю, мне следует расширить «границы» ScrollView, верно?

Ответы [ 2 ]

2 голосов
/ 05 июня 2009

Мне не совсем понятно, о чем вы спрашиваете, но, если вы хотите, чтобы содержимое scrollView прокручивало статическое изображение, вам просто нужно добавить UIView (или, скорее, UIImageView) в ваше суперпредставление, а затем добавить свой UIScrollView к этому. Если вы установите цвет фона для UIScrollView равным celarColor, фоновое изображение будет просвечиваться - таким образом, у вас будет иерархия вида, подобная:

  1. UIWindow
  2. UIView <----- ваш фон здесь </li>
  3. UIScrollView
  4. Прокрутка подпредставлений <----- таблица рекордов здесь </li>

Если вы рисуете таблицу рекордов в прокручивающихся подпредставлениях с использованием CoreGraphics, ответ на вопрос, с которым вы связались, также будет работать.

0 голосов
/ 05 июня 2009

Как насчет явного заполнения всего прямоугольника self.bounds в методе drawRect: подкласса представления прокрутки перед вызовом super?

Другая идея состоит в том, чтобы поместить представление прокрутки в другое представление, которое выполняет рисование тени.

...