Ios 点对点动画

Ios 点对点动画,ios,objective-c,animation,core-animation,Ios,Objective C,Animation,Core Animation,我想制作上图所示的动画。我正在使用此代码。它们变成了“移动到无穷远”,我的视图将不会出现,因为它们涉及到for循环。我在iOS上比较新。请帮帮我。我所做的事我被卡住了。任何帮助都将不胜感激 for (i=0; i<3; i++) { if (i==0) { first.backgroundColor=[UIColor blackColor]; second.backgroundColor=[UIColor yellowColor]

我想制作上图所示的动画。我正在使用此代码。它们变成了“移动到无穷远”,我的视图将不会出现,因为它们涉及到for循环。我在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;
        }
    }

for(i=0;i首先创建一个全局变量,用于跟踪哪个按钮的背景发生了变化,以及一个存储所有按钮的数组

@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];
}

thnks buddy you is my Saviour此答案是根据用户发布的问题得出的。不幸的是,用户已删除该问题。用户不需要UIPageControl。问题是什么?为什么不使用?&如果您正在寻找自定义,请查看&