我有这个头发拉扯的问题,我希望任何人都能够帮助我。这似乎是一件小事,但我一直无法找到任何解决方案。
我有一个 UIButton,我想用动画块四处移动。每次单击按钮时,我都会将其移动到新位置,按钮总是移动到正确的位置,问题是它总是从第一个位置移动到新位置。
假设我有一个按钮,(0,0)
然后将其移动到(0,50)
像美女一样工作!现在我想将按钮移动到(0,100)
,我希望它从到动画(0,50)
,(0,100)
但是它从(0,0)
到动画,(0,100)
所以它最终在正确的位置,但从错误的位置移动。
我UIButton
通过在动画块中设置一个新帧来移动
[UIView animateWithDuration:0.5f
delay:0.0f
options:UIViewAnimationCurveLinear
animations:^{
}
completion:nil];
在我的情况下,当其他控件完成移动时,我将按钮移动到完成块中。
我真的希望有人知道我在说什么并为我解答。
我用于为 uibutton 设置动画的代码是这样的,按钮名称是“btnAddPhoneNumber”,它也是“发送者”
[UIView animateWithDuration:1
delay:0
options:UIViewAnimationCurveLinear
animations:^{
txtNewPhoneNumber.frame = CGRectMake(newXnumber, newYnumber, txtPhoneNumber.frame.size.width, txtPhoneNumber.frame.size.height);
}
completion:^(BOOL finished) {
txtNewPhoneNumber.placeholder = @"here you go!";
//animate add textfield button.
[UIView animateWithDuration:0.5f
delay:0
options:UIViewAnimationCurveLinear
animations:^{
[sender setFrame:CGRectMake(btnAddPhoneNumber.frame.origin.x, newYnumber, btnAddPhoneNumber.frame.size.width, btnAddPhoneNumber.frame.size.height)];
txtNewPhoneNumberTitle.frame = CGRectMake(newXtitle, newYtitle, txtPhoneNumberTitle.frame.size.width, txtPhoneNumberTitle.frame.size.height);
[btnDelete setFrame:btnDeleteRect];
}
completion:^(BOOL finished) {
}];
}];
感谢您阅读我的问题,并帮助我找到解决方案。
编辑(添加代码示例)