-1

我有 3 个按钮:按钮 1、按钮 2 和按钮 3。当我启动应用程序时,按钮 1 位于顶部,按钮 2 位于中间,按钮 3 位于屏幕下方。

当我按下这些按钮之一时,按钮必须从位置切换。因此,例如 button1 与 button3 切换或 button1 与 button2 切换

我该怎么做?

4

2 回答 2

3

看看这个例子,你想要的动画也......

    -(IBAction)button1_Clicked:(id)sender{

        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:0.3];
        CGRect btnframe = button1.frame;
        button1.frame = button3.frame;
        button3.frame = btnframe;
///Also you can switch the buttons with center points of buttons like...
/*
        CGPoint btn1center = button1.center;
        button1.center = button3.center;
        button3.center = btn1center;
*/

     //This bellow two lines for your requirement with change the function behind the buttons also...

       // [button1 addTarget:self action:@selector(button3_Clicked:) forControlEvents:UIControlEventTouchUpInside];
       // [button3 addTarget:self action:@selector(button1_Clicked:) forControlEvents:UIControlEventTouchUpInside];
        [UIView commitAnimations];
    }

这是一个示例,您可以从中了解您的要求。

希望这可以帮助你...

于 2012-12-24T10:29:04.343 回答
0

这是一个动画解决方案,使用块而不是现在的旧commitAnimations

-(IBAction)clickedButton1:(id)sender{

    [UIView animateWithDuration:1
                     animations: ^{

             CGPoint center = button1.center;
             button1.center = button2.center;
             button2.center = center;
    }];

}

此代码使用动画切换按钮 1 和 2。

于 2012-12-24T10:41:08.457 回答