我有這個頭髮拉問題,我希望有人能幫助我。它看起來像一個小東西,但我一直無法找到任何解決方案。UIButton總是回到它的第一個位置?
我有一個UIButton,我想要移動一個動畫塊。每當我點擊按鈕我將它移動到一個新的位置,按鈕總是移動到正確的位置,問題是它總是從第一個位置移動到新的位置。
讓我們說,我有一個按鈕,在(0,0)
我然後把它移動到(0,50)
作品像一個漂亮! 現在我想將按鈕移動到(0,100)
,我預計它會從(0,50)
動畫到(0,100)
,但是它會從(0,0)
動畫到(0,100)
,因此它會在正確的位置結束,但會從錯誤的位置移動。
我通過在我的情況下在一個動畫塊
[UIView animateWithDuration:0.5f
delay:0.0f
options:UIViewAnimationCurveLinear
animations:^{
}
completion:nil];
設置一個新的幀移動UIButton
我在完成塊移動的按鈕,當其他控制成品移動。
我真的很希望有人知道我在說什麼,併爲我提供答案。
我用動畫的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) {
}];
}];
感謝您閱讀我的問題,並幫助我找到一個解決方案。
編輯(添加的代碼示例)
您可以發佈您爲兩者編寫的代碼嗎? – iDev
嗨ACB,我已添加完整的動畫塊。 – MortenHN
在完成塊中,您可以在控制檯中打印txtNewPhoneNumber的幀,並檢查幀在完成塊中時是否正確更新了幀? – iDev