我有 3 个按钮:按钮 1、按钮 2 和按钮 3。当我启动应用程序时,按钮 1 位于顶部,按钮 2 位于中间,按钮 3 位于屏幕下方。
当我按下这些按钮之一时,按钮必须从位置切换。因此,例如 button1 与 button3 切换或 button1 与 button2 切换
我该怎么做?
看看这个例子,你想要的动画也......
-(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];
}
这是一个示例,您可以从中了解您的要求。
希望这可以帮助你...
这是一个动画解决方案,使用块而不是现在的旧commitAnimations
:
-(IBAction)clickedButton1:(id)sender{
[UIView animateWithDuration:1
animations: ^{
CGPoint center = button1.center;
button1.center = button2.center;
button2.center = center;
}];
}
此代码使用动画切换按钮 1 和 2。