Реализация представления прокрутки, которое намного больше, чем представление экрана со случайными изображениями - PullRequest
1 голос
/ 03 мая 2010

То, что я пытаюсь сделать, это реализовать что-то вроде представления прокрутки фруктовой машины. В основном у меня есть последовательность изображений (случайно генерируемых на лету), и я хочу позволить пользователям прокручивать эту строку. На экране может поместиться около 10 изображений, но линия практически не ограничена.

Мой вопрос: каков наилучший подход для реализации этого?

До сих пор я думал о том, чтобы UIImageView проходил по экрану (с шириной, равной сумме 10 изображений), и изображение, связанное с ним, было бы комбинацией из 12 или около того изображений, с двумя изображениями, выпадающими из видимая область, это позволило бы для плавной прокрутки. Если пользователь прокручивает дальше, я реконструирую изображение, связанное с видом, чтобы новые изображения добавлялись, а старые отбрасывались.

Этот бизнес по реконструкции изображений звучит немного сложно, поэтому мне было интересно, есть ли более логичный способ реализовать это.

Есть еще одна вещь, я хочу, чтобы две линии пересекались друг с другом с изображениями, немного похоже на пересечение конвейерных лент. Если это имеет какой-то смысл ... Немного как ниже:

      V1
      V2
H1 H2 H3 H4 H5
      V4
      V5

Так что, если вертикальный ремень будет перемещен, это будет выглядеть так:

      V2
      H3
H1 H2 V4 H4 H5
      V5
      V6

H1-H5, автоматически генерируемые изображения V1-V6.

Я не спрашиваю код реализации, просто размышления о принципах, как это реализовать. Спасибо!! :)

1 Ответ

1 голос
/ 03 мая 2010

Я бы просто держал их все отдельно UIImageViews и анимировал их согласованно (используя UIView анимацию). Таким образом вы позволите CoreAnimation позаботиться о рендеринге в слои. Как только изображение выходит за пределы экрана, вы можете уничтожить его и создать новые, готовые появиться на экране на другом конце. Более сложный подход будет включать в себя пул закадровых UIImageView с, поэтому вы не уничтожаете сразу (и можете никогда не уничтожить). Это было бы несколько похоже на способ реализации UITableView - только вы бы катились по своему усмотрению (если бы это были только вертикальные столбцы, я бы предложил UITableView s).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...