我無法在動畫之後更改我的按鈕文本。動畫UIButton更改文本更改位置
定義在我的.h文件
@property (weak, nonatomic) IBOutlet UIButton *btnCheck;
我把這種方法時,我想動畫按鈕的位置變化
- (void)updateViews {
if(checkedIn){
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationOptionTransitionNone
animations:^{
btnClear.hidden = YES;
[btnCheck setFrame:CGRectMake(90, btnCheck.frame.origin.y, btnCheck.frame.size.width, btnCheck.frame.size.height)];
}
completion:nil];
}else{
[UIView animateWithDuration:0.3f
delay:0.0f
options:UIViewAnimationOptionTransitionNone
animations:^{
[btnCheck setFrame:CGRectMake(20, btnCheck.frame.origin.y, btnCheck.frame.size.width, btnCheck.frame.size.height)];
}
completion:^(BOOL finished){
btnClear.hidden = NO;
}];
}
checkedIn = !checkedIn;
}
這一工程完美,圖片下方供您參考:
問題是我儘快更改bu的名字它會跳回原來的框架。
我改變在這樣的另一種方法的按鈕上的文字,
btnCheck.titleLabel.text = @ 「測試」;
而一旦我改變了按鈕跳回
是什麼導致按鈕框被重置? 我試圖在動畫之前,在完成之前更改它。它動畫到新的位置並跳回來。
它給出了同樣的問題,我用了以下內容: [btnCheck setTitle:@「test」forState:UIControlStateNormal]; – user1838169
然後它真的很奇怪,我強烈建議你仔細檢查你的代碼。 –
根據你提供的圖像,我不認爲你的按鈕正在改變它的框架,也許你正在改變你的代碼中的'titleLabel'文本對齊? –