0
我在故事板中通過segue鏈接了兩個View Controller。第一個視圖控制器做了一個動畫,它將UIImage從中間滑動到屏幕的頂部,然後顯示一個UIButton,這一切都很好。但是,當按鈕被觸摸時,我執行一個segue,將模式中的第二個視圖控制器顯示出來。但是當第二個視圖控制器向上滑動屏幕時,我可以看到UIImage返回屏幕中間,就像它在動畫之前一樣。在iOS中,動畫視圖在手動調用segue後返回到其原始狀態
這是它:
- (void)viewDidLoad{
[super viewDidLoad];
self.willAnimate=YES;
}
- (void)viewDidAppear:(BOOL)animated{
if (self.willAnimate) [self animate];
}
- (void) animate{
if (self.willAnimate){
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.8];
//hide button first
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.1];
self.myButton.alpha=0;
[UIView commitAnimations];
//move background
CGRect imgRect = self.myImageView.frame;
imgRect.origin.y-=200;
self.myImageView.frame=backgroundRect;
//restore button
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelay:1.8];
self.myButton.alpha=1;
[UIView commitAnimations];
[UIView commitAnimations];
self.willAnimate=NO;
}
}
- (IBAction)myButtonPressed {
[self performSegueWithIdentifier:@"mySegue" sender:self ];
}
這是發生因爲SEGUE是從故事板加載第一視圖控制器?如何在視圖控制器之間來回切換離開圖像,就像在動畫之後一樣?
你說得對,我從故事板中刪除了UIImageView的UIBUtton,並以編程方式創建它們,現在它的一切都變好了。 – user1736003