Начните с шаблона приложения на основе представления, чтобы вы могли понять суть, как это работает. Позже вы можете интегрироваться с существующим кодом.
Создание бесшовного фонового изображения 320 x 960 пикселей с именем "seamless.png"
Добавьте этот ivar к вашему контроллеру .h file
UIImageView *bg;
@property (nonatomic, retain) UIImageView *bg;
В вашем файле .m добавьте эти #defines перед строкой @implementation, после @synthesize.
#define kUpdateRate (1.0 / 60.0)
#define kMoveY (3.0)
#define kTopY (0.0)
#define kBottomY (480.0)
@synthesize bg;
Добавить этот метод.
-(void)scrollView; {
float oldY = self.bg.center.y + kMoveY;
float newY = oldY;
if (oldY > kBottomY) {
newY = kTopY;
}
self.bg.center = CGPointMake(self.bg.center.x, newY);
}
Добавьте это в ваш метод viewDidLoad.
self.bg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"endless.png"]];
[self.view addSubview:self.bg];
self.bg.center = CGPointMake(self.bg.center.x, kTopY);
[NSTimer scheduledTimerWithTimeInterval:kUpdateRate target:self selector:@selector(scrollView) userInfo:nil repeats:YES];
Когда вы запускаете приложение, у вас должен быть красивый фон прокрутки.
Подводя итог, что происходит: таймер настроен на многократный вызов scrollView:
Там изображение перемещается вниз, пока не достигнет предопределенной точки (kBottomY), после чего его позиция поднимается вверх (kTopY) и начинается снова.
Вы можете настроить его, чтобы прокручивать его только тогда, когда вы этого хотите, или прокручивать его самостоятельно, верно?