iOS歡迎介面Launch Screen動態載入廣告
當我們開啟一款應用程式的時候,首先映入眼簾的往往並不是程式的主介面,而是經過精心設計的歡迎介面,這個介面通常會停留幾秒鐘,然後消失。看似很平常的一個小小的歡迎介面,其實還大有講究。
一、為什麼會出現歡迎介面?
程式在啟動的過程中需要消耗一些時間,那麼在載入出現主介面之前,會出現短暫的黑屏,這實在是很糟糕的一件事情,會給使用者一個非常不好的體驗。為了緩解使用者等待過程中心理的不適與煩躁,歡迎介面閃亮登場了!
用歡迎介面來替代黑屏的等待,可以有效的掩蓋耗時阻塞的後臺操作,還能向使用者展示有效的資訊,是非常好的一種過渡方案。但是有的程式把歡迎介面做成了廣告版,浪費了使用者更多的時間,讓使用者覺得厭煩,對程式本身功能也失去了興趣,這種做法實在是很不明智。
二、歡迎介面的種類
歡迎介面種類有很多,大致分為靜態和動態兩種。
靜態的歡迎介面通常比較簡潔,一般會放置一張很精美的圖片,可能是一張公司或者產品的宣傳圖,也可能是一張廣告圖,給我印象最深的是某聊天軟體在生日當天開啟,歡迎介面竟然是一張寫著你名字的生日祝福的圖片,讓人感覺很溫暖。
動態的歡迎介面要更加炫酷精美,樣式也更加豐富,有的是聯網載入的廣告,有的像一本很炫的書,可以滑動翻頁,有的是一個小小的遊戲,有的是美文配著美妙的音樂,還有的可能是一段有趣的動畫。
三、歡迎介面使用LaunchImage
針對IOS7,蘋果提供了LaunchImage來實現歡迎介面,開發的時候只需要將設計好對應尺寸的圖片拖到對應的狀態的位置即可。
在IOS7,歡迎介面對應的尺寸分別為:
iphone 豎屏 640*960 640*1136
ipad 豎屏 768*1024 1536*2048
ipad 橫屏 1024*768 2028*1536
IOS8出現之後,蘋果推出了LaunchScreen.xib來做歡迎介面,如果還想通過LaunchImage來做歡迎介面,完美適配IOS7和IOS8,應該如何來做呢?
首先,需要把LaunchScreen.xib刪掉,否則IOS8時會自動呼叫它。然後找到Images.xcassets,點選下面的 + 號,選擇New Launch Image,然後按照對應的要求放入相應尺寸圖片即可,和之前操作完全一樣。
四、歡迎介面使用LaunchScreen.xib
Xcode6/IOS8新新增了許多功能,比如LaunchScreen.xib、Size Classes等。程式啟動的時候,會自動呼叫LaunchScreen.xib,因此可以在這個xib上新增需要顯示的控制元件,並新增約束,進行顯示。
如上圖所示,當前歡迎介面包括中間的大標題,下面的公司資訊等,和一張圖片。因為上面的控制元件都是在Any w和Any h的情況下新增的約束,所以無論在哪種尺寸的裝置上都可以適配。為了保證更完美的效果,xib中得圖片我們可以使用Images.xcassets來設定,這樣可以在不同裝置的時候自動選擇相應尺寸的圖片,達到更好的效果。
上面的LaunchScreen.xib是使用Xcode6建立專案自動生成的,如果不想使用自動生成的,也可以換成其他的xib,但是很遺憾,用於做歡迎介面的xib沒法與View Controller連線,因此只能顯示靜態的事先擺好的介面。換xib可以在下圖兩個地方進行更換。
五、歡迎介面動態載入廣告
有許多應用程式在開啟的時候,歡迎介面會載入一張連網獲取的廣告圖片或者顯示一組動畫,這樣的效果是如何做到的呢?下面給大家介紹一種簡單的實現載入廣告的方式。
程式執行起來,歡迎介面之後,會進入AppDelegate,因此我們可以在application: didFinishLaunchingWithOptions:新增程式碼完成想要的效果。連網獲取圖片可以用第三方SDWebImage實現,所以需要先將第三方資料夾匯入。因為顯示廣告的頁面是在歡迎介面基礎上顯示的,因此可以直接利用LaunchScreen.xib中得view,在上面新增一個UIImageView顯示圖片,然後將其加在window上,並顯示在最上層。廣告圖片顯示之後,再將view移除掉,顯示程式的主介面。程式碼如下所示:
#import "AppDelegate.h" #import "UIImageView+WebCache.h" @interface AppDelegate () @property (strong, nonatomic) UIView *lunchView; @end @implementation AppDelegate @synthesize lunchView; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self.window makeKeyAndVisible]; lunchView = [[NSBundle mainBundle ]loadNibNamed:@"LaunchScreen" owner:nil options:nil][0]; lunchView.frame = CGRectMake(0, 0, self.window.screen.bounds.size.width, self.window.screen.bounds.size.height); [self.window addSubview:lunchView]; UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 50, 320, 300)]; NSString *str = @"http://www.jerehedu.com/images/temp/logo.gif"; [imageV sd_setImageWithURL:[NSURL URLWithString:str] placeholderImage:[UIImage imageNamed:@"default1.jpg"]]; [lunchView addSubview:imageV]; [self.window bringSubviewToFront:lunchView]; [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(removeLun) userInfo:nil repeats:NO]; return YES; } -(void)removeLun { [lunchView removeFromSuperview]; }
相關文章
- IOS使用Launch Screen.storyboard製作廣告啟動介面iOS
- iOS APP啟動頁載入廣告iOSAPP
- android 歡迎介面Android
- 關於ios使用LaunchScreen作為歡迎頁圖片載入不上的問題iOS
- windows10歡迎介面太久了怎麼辦_windows10歡迎介面很慢解決方法Windows
- 玩家對遊戲內廣告接受度更高 互動激勵受歡迎遊戲
- Mac動態桌布:Screen WondersMac
- Screen Wonders for mac動態桌布Mac
- 【置頂動態】歡迎訪問我的部落格園
- 啟動載入廣告頁面
- 你所不知道的Android啟動頁(歡迎介面)Android
- DLL動態庫動態載入
- windows xp沒有登入歡迎介面的問題解決方法Windows
- win10啟動時不顯示歡迎介面怎麼辦Win10
- 介面測試平臺,歡迎大家體驗
- React router動態載入元件-介面卡模式的應用React元件模式
- Screen Wonders for mac(動態桌布軟體)Mac
- vue 動態載入元件Vue元件
- Java動態載入類Java
- internetretailer:谷歌PLA廣告比文字廣告更受零售商歡迎AI谷歌
- Win10系統怎麼取消歡迎介面Win10
- 蘋果iOS圖示顏色受歡迎度排名蘋果iOS
- hadoop視訊學習,歡迎下載。。Hadoop
- 動態載入UserControl
- OrchardCore 如何動態載入模組?
- 使用dlopen載入動態庫
- ListView動態載入資料View
- QLibrary 載入動態庫
- vue 動態載入組建Vue
- goloader - golang動態載入Golang
- 熱更新--動態載入frameworkFramework
- 動態庫載入過程
- 動態載入APK原理分享APK
- 動態載入JS和CSSJSCSS
- 動態載入JS的方法JS
- 動態載入!dom應用!
- python動態載入(三)Python
- 指令碼的動態載入指令碼