啓動iOS應用程序時,屏幕從Default.png跳轉到界面。對於當前的項目,我想從Default.png中淡入到應用的界面中。有沒有一個好的方法來做到這一點?啓動應用程序後,如何從Default.png淡入?
回答
我花了一點rooster117和runmad的答案,這就是我想出了。
添加一個UIImageView到第一UIViewController的屬性:
@interface DDViewController : UIViewController {
...
UIImageView *coverImageView;
}
...
@property (nonatomic, retain) UIImageView *coverImageView;
然後,對於iPad應用程序的 「絲網之鄉」,我所說的以下內容:
- (void)viewDidLoad
{
[super viewDidLoad];
...
coverImageView = [[UIImageView alloc] init];
}
-(void)viewWillAppear:(BOOL)animated {
UIImage *defaultImage;
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)) {
NSLog(@"Landscape!");
defaultImage = [UIImage imageNamed:@"Default-Landscape.png"];
} else {
NSLog(@"Portrait!");
defaultImage = [UIImage imageNamed:@"Default-Portrait.png"];
}
coverImageView = [[UIImageView alloc] initWithImage:defaultImage];
[self.view addSubview:coverImageView];
}
-(void)viewDidAppear:(BOOL)animated {
//Remove the coverview with an animation
[UIView animateWithDuration:1.0f animations:^(void) {
[self.coverImageView setAlpha:0.0];
} completion:^(BOOL finished){
[coverImageView removeFromSuperview];
}];
}
是的這不是很難做到。我通過使用默認圖像進行圖像視圖並將其動畫化來實現此目的。像這樣的東西(放在viewDidLoad中的第一個視圖控制器):
_coverImage = [UIImage imageNamed:@"Default.png"];
}
[self.view addSubview:_coverImage];
[UIView beginAnimations:@"FadeOutCover" context:nil];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(removeAndDeleteCover)];
[_coverImage setAlpha:0.0f];
[UIView commitAnimations];
然後實現removeAndDeleteCover做:
[_coverImage removeFromSuperview];
希望有所幫助,如果你需要它的iPad上運行的通用應用程序,您將不得不檢查該情況並添加正確的默認圖像。
雖然這段代碼是正確的,但我建議使用UIView動畫塊,它的編寫和使用更簡單,更清晰。 – runmad
我同意,但我試圖給出什麼需要做的想法 – rooster117
我找到了一種使用UIView動畫塊的方法,然後找出如何適應設備的方向。我的答案在上面。 – bryanjclark
有人做了一個控制它cocoacontrols.com
這裏是鏈接吧:http://cocoacontrols.com/platforms/ios/controls/launchimagetransition
擴展在rooster117的回答,您需要正確加載最終的「着陸場所」,即在解散「啓動畫面」視圖控制器之前,您希望用戶實際與之交互的視圖控制器。這對於從網絡加載數據的應用程序非常重要。
我似乎已經在ios7這樣做了這個,認爲它也應該與6?
- 1. 如何在應用程序啓動時淡入任何聲音?
- 2. 如何知道應用程序何時使用Default.png從頭開始啓動?
- 3. 如何讓應用程序僅在從頭開始啓動時才加載Default.png?
- 4. 如何在啓動後自動啓動Bada 2.0應用程序?
- 5. 如何從Java Web應用程序啓動Android應用程序?
- 6. 如何從我的應用程序啓動Facebook應用程序?
- 7. 如何從其他應用程序啓動ClickOnce應用程序?
- 8. 如何從Web應用程序啓動WinRT應用程序?
- 9. 如何從C#應用程序啓動應用程序?
- 10. 從應用程序啓動「啓動器應用程序抽屜」?
- 11. 如何在應用程序啓動後啓動RabbitMQ監聽器?
- 12. 如何啓動後啓動Android應用程序作爲服務
- 13. Applescript(10.6.8)。如何從用戶輸入啓動應用程序
- 14. 如何從網站下載後啓動Android應用程序?
- 15. 應用程序啓動後,如何從web.config讀取值?
- 16. 如何在後臺從命令行啓動GUI應用程序?
- 17. 如何淡入/淡出AngularJS應用程序中的文本?
- 18. iPad的使用爲Default.png的啓動畫面中通用的應用程序
- 19. 自動阻止應用程序從啓動程序啓動
- 20. jenkins slave agent重啓後如何重新啓動應用程序
- 21. 如何防止Android從啓動程序重新啓動應用程序
- 22. 啓動後彈出啓動應用程序立即啓動
- 23. 在啓動Windows啓動後立即啓動Qt應用程序
- 24. 如何從另一個應用程序啓動移動應用程序?
- 25. 如何從啓動程序隱藏Android應用程序
- 26. 應用程序不會在啓動後啓動後添加notifyicon
- 27. 始終從啓動程序啓動應用程序
- 28. 清除應用程序數據後如何啓動活動?
- 29. 如何讓iPhone應用程序在升級後自動啓動?
- 30. 如何在安裝應用程序後自動啓動standalone.bat?
如果使用故事板,則可以使用自定義的segue創建啓動畫面。 –