Я только недавно использовал Xcode 5, и мне нужна помощь, когда дело доходит до автоматической прокрутки UIScrollView
. Я использую приложение с одним представлением. Мне нужно, чтобы экран прокручивался вниз со скоростью, которая постепенно ускоряется. Также мне нужно, чтобы экран продолжал развиваться, даже когда к экрану прикасаются. Если кто-то может объяснить, какой код куда идет, было бы здорово! Ваша помощь будет принята с благодарностью. :)
Автопрокрутка в UIScrollview
Ответы (3)
Хорошо, просто добавьте это из вашего повторяющегося вопроса.
Я подозреваю, что игра Piano Tiles на самом деле использует что-то вроде Sprite Kit
.
Это позволяет намного лучше контролировать такие вещи, как скорость «прокрутки».
Вместо использования UIScrollView
вы должны использовать SKNode
в качестве слоя с кнопками, добавленными к этому родительскому слою.
Затем, используя игровой цикл update
, вы можете постепенно увеличивать скорость движения в зависимости от времени, прошедшего с начала игры.
В сущности... не используйте UIScrollView
, не используйте UIKit
, используйте SpriteKit
.
Ознакомьтесь с этой библиотекой: https://github.com/danielamitay/DAAutoScroll.
Он перестает прокручиваться, когда пользователь касается экрана, и это единственное решение, которое я вижу возможным. Я даже не понимаю, почему вы не хотите, чтобы пользователь мог остановить прокрутку.
Я вижу несколько вариантов:
1), предложенный Fogmeister, вместо этого используйте Sprite Kit.
2) см. setContentOffset
3) просто используйте обычное представление в качестве родителя, затем добавьте еще одно дочернее представление сверху с полным содержимым (будет длиннее, чем родительское представление), создайте NSTimer для периодического вызова метода, который прокручивает дочернее представление в любом направлении и со скоростью, как обязательный. Обратите внимание, что может потребоваться что-то сверху, чтобы замаскировать дочернее представление от показа предполагаемых скрытых разделов дочернего представления.
Надеюсь это поможет
setContentOffset:animated:
- person Matthias Bauch   schedule 30.06.2014