2012-01-25 48 views
0

我創建了一個項目,其中包含一個tabbarcontroller和一個navigationcontroller在我的項目中添加啓動畫面

第一個視圖或第一個選項卡是一個tableview控制器。現在我需要爲我的應用程序添加閃屏,所以當應用程序加載時它會顯示一個歡迎屏幕,然後登錄到tableviewcontroller。

我運作爲止;

這是在我的viewDidLoad方法中添加的。

myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"splash.jpg"]]; 
myImageView.frame = [[self view] frame]; 

[self.view addSubview:myImageView];  
[self.view bringSubviewToFront:self.myImageView]; 

的問題是,在初始屏幕或UIImageView負載tabbarController/NavigationController內,並且它不佔用屏幕的整個寬度和長度。我該怎麼做才能解決這個問題?

回答

4

在應用程序包中,您需要將名稱爲「Default.png」和「[email protected]」的閃屏圖像複製到Retina中。該應用會自動加載,你不需要做更多的工作。

在這裏,您對此有一個鏈接:http://iosdevelopertips.com/cocoa/defaultpng-the-secret-of-the-load-screen.html

+1

你的意思是,我需要不寫的一行代碼,而只是添加'Default.png',和splashscreen會出現? :S – sharon

+0

是的,試試吧,很簡單。 –

+0

謝謝你的鏈接。但我也看到應用程序與動畫初始屏幕圖像。我不認爲可以添加.gif圖像,以便動畫從何處來? – sharon

0

你給了啓動形象在你的目標設置看看嗎?

+0

是的,圖像顯示,但在tabBar內。例如:第一個選項卡變成啓動畫面圖像。實際上整個視圖應該是splashScreen – sharon

0

您可能想要在應用程序委託的didFinishLaunchingWithOptions方法中添加啓動畫面。然後開始淡出的動畫(或任何你需要的動畫)。最後在動畫完成時移除閃屏視圖。

4

將您要使用的圖像添加到項目資源中,並將它們命名爲Default.png[email protected](如果您爲視網膜屏幕提供圖像)。一定不要命名它們。如果大寫錯誤,它將在模擬器(不區分大小寫)中工作,但不在設備上(區分大小寫)。

注意的是,「閃屏」是由蘋果人機界面指南氣餒:

enter image description here

+0

我的第一個屏幕需要下載數據並填充表格。所以,直到那個hapence,我正試圖加載一個帶有活動指示器的imageView。那好吧?這是否符合蘋果人機界面指標? – sharon

+0

這對此不起作用。默認屏幕只顯示直到視圖可用。您最好加載初始視圖控制器,並在顯示某些默認或緩存數據的同時異步加載資源。您仍然可以顯示活動指示器。 – Abizern

+0

您可以在上面說到的地方分享Apple Human Interface Guidelines的網址。 – sharon

0

你必須在UIImageView添加到根的觀點:

UIView *rootView = [[[[UIApplication sharedApplication] delegate] viewController] view]; 
    [myImageView setFrame:rootView.bounds]; 
    [rootView addSubview:myImageView]; 
+0

好吧然後我怎麼能刪除它一段時間後? – sharon

+0

是的,你可以使用'NSTimer'或'performSelector:withObject:afterDelay:' – basvk

0

可以使用uiimage視圖添加一組圖像來播放動畫,請嘗試以下 代碼

-(void)viewDidAppear:(BOOL)animated { 
    animationSplashImageView.animationImages = imageArray; 
    animationSplashImageView.animationDuration = 5; 
    animationSplashImageView.animationRepeatCount = 1; 
    [animationSplashImageView startAnimating]; 
} 


IBOutlet UIImageView* animationSplashImageView; 

是在您的應用程序的主視圖中定義的。

還您可以使用工具Splashx免費的,這是在蘋果App Store的測試飛濺:http://itunes.apple.com/cn/app/splashx-free/id500137095?mt=8

相關問題