2015-03-17 2 views
-2

http://postimg.org/image/8bwxdp4bj/7124c28f/ Я хочу сделать анимацию, показанную на изображении выше. Я использую этот код. Они стали перемещаться на бесконечность, и мое представление не появится, потому что они задействованы для цикла. Я новичок в iOS. Пожалуйста, помогите.Что я делаю, я застрял. Любая помощь будет оценена по достоинству.Точка к точке Анимация

for (i=0; i<3; i++) { 
     if (i==0) { 
      first.backgroundColor=[UIColor blackColor]; 
      second.backgroundColor=[UIColor yellowColor]; 
      third.backgroundColor=[UIColor yellowColor]; 
      button.backgroundColor=[UIColor yellowColor]; 
      i=1; 
     } 
     if (i==1) { 
      first.backgroundColor=[UIColor yellowColor]; 
      second.backgroundColor=[UIColor blackColor]; 
      third.backgroundColor=[UIColor yellowColor]; 
      button.backgroundColor=[UIColor yellowColor]; 
      i=2; 
     } 
     if (i==2) { 
      first.backgroundColor=[UIColor yellowColor]; 
      second.backgroundColor=[UIColor yellowColor]; 
      third.backgroundColor=[UIColor blackColor]; 
      button.backgroundColor=[UIColor yellowColor]; 
      i=3; 
     } 
     if (i==3) { 
      first.backgroundColor=[UIColor yellowColor]; 
      second.backgroundColor=[UIColor yellowColor]; 
      third.backgroundColor=[UIColor yellowColor]; 
      button.backgroundColor=[UIColor blackColor]; 
      i=0; 
     } 
    } 
+0

Что такое вопрос? – Fogmeister

+0

Почему бы не использовать [UIPageControl] (http://www.ioscreator.com/tutorials/changing-screens-with-uipagecontrol)? & если вы ищете настройку, посмотрите [здесь] (https://www.cocoacontrols.com/controls/styledpagecontrol) и [здесь тоже] (https://www.cocoacontrols.com/search?utf8=%E2% 9C% 93 & q = uipagecontrol) –

ответ

3

Во-первых, сделать глобальную переменную, которая отслеживает кнопку, которая фоновый изменяется, а также массив, который хранит все кнопки.

@interface ClassName() { 
    int index = 0; 
    NSArray *buttons; 
} 

Теперь в методе инициализации, это сделать

[first setBackgroundColor:[UIColor yellowColor]]; 
[second setBackgroundColor:[UIColor yellowColor]]; 
[third setBackgroundColor:[UIColor yellowColor]]; 
[button setBackgroundColor:[UIColor yellowColor]]; 
buttons = @[first, second, third, button]; 
[self performSelector:@selector(changeColor) withObject:nil afterDelay:1.0f]; 

Теперь в вашем методе changeColor, сделайте как этот

- (void)changeColor { 

    UIButton *btn = [buttons objectAtIndex:index]; 
    [btn setBackgroundColor:[UIColor blackColor]]; 

    UIButton *prevBtn = [buttons objectAtIndex:((index - 1) + 4) % 4]; 
    [prevBtn setBackgroundColor:[UIColor yellowColor]]; 

    index = ++ index % 4; 
    [self performSelector:@selector(changeColor) withObject:nil afterDelay:1.0f]; 
} 
+0

thnks приятель, вы мой спаситель –

+0

Этот ответ был в соответствии с вопросом, который разместил пользователь. К сожалению, пользователь удалил вопрос. Пользователю не нужен UIPageControl. –

+0

снят с downvote и upvoted ... –

Смежные вопросы