2012-02-09 3 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); 
} 
Смежные вопросы