從一個基於視圖的應用程序模板開始,所以你可以得到它的工作原理。稍後,您可以與現有的代碼進行集成。
創建一個無縫的背景圖像320×960像素,名爲「seamless.png」
這伊娃添加到您的視圖控制器的.h文件
UIImageView *bg;
@property (nonatomic, retain) UIImageView *bg;
在您的.m文件添加這些#define語句在@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];
當你運行該應用程序時,你應該有一個很好的滾動背景。
綜上所述會發生什麼:將定時器設置爲重複調用滾動視圖:
在那裏,直到它到達預定點(kBottomY),此時它的位置躍升備份圖像向下移動到頂部(kTopY),然後重新開始。
你可以自定義它只在你想要的時候滾動,或者自己滾動另一種方式,對吧?
不是UIScrollView,我正在製作遊戲應用程序,而不是實用程序/菜單。更具體地說,我希望應用程序的視圖在UIImageview(播放器)擊中屏幕的右側/左側邊界時進行滾動。對困惑感到抱歉! – Flafla2 2009-12-20 17:32:28