2012-02-09 32 views
0

我想有在窗口的图像包裹(当脱落的左边,它再次出现在右边)我有一个计时器调用包含此功能:的UIImageView不正确响应center.x

bgImage.center = CGPointMake(bgImage.center.x - 5, bgImage.center.y); 
if (bgImage.center.x < -self.view.frame.size.width/2) 
    bgImage.center = CGPointMake(bgImage.center.x + self.view.frame.size.width, bgImage.center.y); 
    NSLog(@"%f",bgImage.center.x); 

当脱落的画面,它回来了一半,再少一点,每次。控制台为x值返回非常大的值

2012-02-09 13:33:44.229 Parkour Runner[1351:f803] 2: 28990.000000 
2012-02-09 13:33:44.328 Parkour Runner[1351:f803] 2: 29285.000000 
2012-02-09 13:33:44.429 Parkour Runner[1351:f803] 2: 29580.000000 
2012-02-09 13:33:44.528 Parkour Runner[1351:f803] 2: 29875.000000 

回答

1

这是怎么回事?它会考虑到图像的尺寸。

bgImage.frame = CGRectMake(bgImage.origin.x - 5.0f, bgImage.origin.y, bgImage.size.width, bgImage.size.height); 

if ((bgImage.frame.origin.x + bgImage.frame.size.width) < 0.0f) { 
    bgImage.frame = CGRectMake(self.view.frame.size.width, bgImage.origin.y, bgImage.size.width, bgImage.size.height); 
}