[英]UIView animation on button press - not visible on first try
我在水平放置的UIView中有一組三個UITableView,兩個屏幕在任何時候都可見,另一個在屏幕外。 我正在嘗試設置位置變化的動畫,在按下按鈕時,最左邊的桌子向屏幕外滑動到左邊,然后另兩個桌子滑過以填充位置。
我的問題是,如果我嘗試一次對多個表進行動畫處理,則第一次按下按鈕時什么也沒有發生。 但是在第二按時一切正常。 如果我僅嘗試對一張桌子進行動畫處理,則它可以在第一次按下時起作用。 我的按鈕處理程序代碼如下:
- (IBAction)buttonPressed:(id)sender{
CGRect newUITableView1Frame = self.originalUITableView1Frame;
newUITableView1Frame.origin.x = newUITableView1Frame.origin.x - newUITableView1Frame.size.width;
if(!makeSubButtonPressed){
self.makeSubButtonPressed = YES;
[self.makeSubButton setTitle:@"Choose Team Lineup" forState:UIControlStateNormal];
[UIView animateWithDuration:0.5
delay:0.1
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.UITableView1.frame = newUITableView1Frame;
self.UITableView2.frame = originalUITableView1Frame;
self.UITableView3.frame = originalUITableView2Frame;
}
completion:^(BOOL finished){NSLog(@"Animation Finished");}];
}
在ViewDidLoad方法中:
self.originalUITableView1Frame = self.UITableView1.frame;
self.originalUITableView2Frame = self.UITableView2.frame;
第一次按下時,始終在控制台上打印“ Animation Finished”,以便執行代碼。 我還為每個動畫嘗試了單獨的動畫塊,但是結果是相同的。
我不知道怎么了。 有什么建議么?
編輯:我可能應該添加,我為此使用情節提要和所有UITableViews添加在那里。
您在動畫塊中為第二張表設置了兩次幀,但沒有為第三張表設置幀。
在動畫塊中嘗試以下操作:
self.UITableView1.frame = newUITableView1Frame;
self.UITableView2.frame = originalUITableView1Frame;
self.UITableView3.frame = originalUITableView2Frame;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.