在我的應用程序的主頁上,我想動畫一個PNG圖像滑動到視圖中,然後在第二個圖像滑入,然後滑出之前再次滑出。在每次消失之前,觀衆只能閱讀一段時間。我不知道如何做到這一點,並想要一些輸入?似乎很簡單,我希望它是,有人可以指導我如何做到這一點。我也希望它在循環中,所以每當你回到屏幕上時,它仍然會動畫。動畫圖像/ UIView iOS
有什麼想法嗎?只有一天左右的時間才能完成
在我的應用程序的主頁上,我想動畫一個PNG圖像滑動到視圖中,然後在第二個圖像滑入,然後滑出之前再次滑出。在每次消失之前,觀衆只能閱讀一段時間。我不知道如何做到這一點,並想要一些輸入?似乎很簡單,我希望它是,有人可以指導我如何做到這一點。我也希望它在循環中,所以每當你回到屏幕上時,它仍然會動畫。動畫圖像/ UIView iOS
有什麼想法嗎?只有一天左右的時間才能完成
或多或少只是擴展Tom van Zummeren的答案。這應該足以實現基本想法。
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, -280, 280, 280)];
[myImageView setImage:[UIImage imageNamed:@"1.png"]];
[self.view addSubview:myImageView];
[UIView animateWithDuration:2.0 delay:1.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
[myImageView setCenter:self.view.center];
}completion:^(BOOL done){
[UIView animateWithDuration:2.0 delay:3.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
[myImageView setCenter:CGPointMake(myImageView.center.x, self.view.bounds.size.height + (myImageView.bounds.size.height/2))];
}completion:^(BOOL done){
[myImageView setFrame:CGRectMake(20, -280, 280, 280)];
NSLog(@"%@",NSStringFromCGRect(myImageView.frame));
[myImageView setImage:[UIImage imageNamed:@"2.png"]];
}];
}];
}
您可以使用Core Animation進行此操作。這很容易做到。實施例的動畫:在1.5秒內
UIImageView *imageView = ...;
imageView.frame = CGRectMake(-160, 100, 250, 200);
[UIView animateWithDuration:1.5 animations:^{
imageView.frame = CGRectMake(160, 100, 250, 200);
}];
這從動畫一個UIImageView
x座標-160至160。
你有什麼理由動畫,當你不改變的大小框架視圖?爲什麼不簡單地設置'center'屬性的動畫? (此外,這是UIView動畫,而不是核心動畫) –
中心也很好。我不介意。它是核心動畫,但在其頂部有一個簡單的UIKit抽象層。 –
通過這種邏輯,它也是OpenGL ES:D –
//起點
pImgFlowing.frame = CGRectMake(544, 817, 84, 18);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
//終點
pImgFlowing.frame = CGRectMake(544, 774, 84, 61);
[UIView commitAnimations];
謝謝,現在是我概述,我可以在它上面工作歡呼 – holtii
@holtii如果它幫助,請標記爲正確:) –
需要一點工作,而不是垂直,我如何得到水平?在屏幕上,它幾乎是我想要的,需要稍微調整一下,+使圖像不被壓扁 – holtii