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