2016-04-15 55 views
0

使用Xcode 7我想用UIWebView創建一個小應用程序。 這個應用程序將不得不從所有設備運行它。 我正在資產中使用「新iOS啓動圖像」。 但是,當「啓動」終止時,在加載WebView之前有一個等待時間(根據連接速度而變化)。 在這個時候,我想「啓動屏幕」,繼續使用圖像類型的設備持續存在。LaunchImage persistent

你能幫我嗎?

+0

cf. http://stackoverflow.com/questions/27519195/activity-indicator-on-launch-screen-in-ios-using-xcode6 –

+0

我很抱歉,但我不知道objective-c。我是Swift的初學者 – alessiovolpe

回答

0

我使用此代碼解決了這個問題:

extension UIImage { 
    convenience init?(fullscreenNamed name: String) { 
     switch UIScreen.mainScreen().bounds.size.height { 
     case 480: //iPhone 4/4s 
      self.init(named: "\(name)[email protected]") 
     case 568: //iPhone 5/5s 
      self.init(named: "\(name)[email protected]") 
     case 667: //iPhone 6/6s 
      self.init(named: "\(name)[email protected]") 
     case 736: //iPhone 6+/6s+ 
      self.init(named: "\(name)[email protected]") 
     default: 
      self.init(named: name) 
     } 
    } 
} 

我參加「LaunchImage」在使用該設備屏幕的右側圖像。

0

你不能像蘋果推薦的那樣增加啓動屏幕的時間,但是你可以做一些讓用戶感覺就像啓動屏幕一樣的東西。 你可以用這種方式實現它:

我假設你的啓動畫面後的第一個屏幕加載是你的WebView屏幕。在界面構建器的WebView中添加UIImageView,並在ImageView上設置啓動屏幕圖像。現在爲這個imageView製作IBOutlet,並在webview暗示它將其加載到其委託方法中時將其隱藏屬性設置爲yes。不要忘記在界面生成器中設置UIWebView的委託。

class WebViewController: UIViewController, UIWebViewDelegate { 
    @IBOutlet var UIImageView: imgThumbSplash! 


    override func viewDidLoad() { 
     super.viewDidLoad() 
     imgThumbSplash.hidden = false 
    } 

    func webViewDidFinishLoad(webView: UIWebView){ 
     imgThumbSplash.hidden = true 
    } 


    func webView(webView: UIWebView, didFailLoadWithError error: NSError?){ 
     imgThumbSplash.hidden = true 
    } 

} 
+0

如何在ImageView中設置初始屏幕圖像? – alessiovolpe

+0

我必須連接到「IBOutlet UIImageView」? – alessiovolpe

+0

這裏github.com/Volpesio/Launch.git(Launch.zip)是我的實現想法,以確保LaunchImage在啓動屏幕後保持可見。但在某些iPhone上,圖像失真!因爲?我哪裏做錯了? – alessiovolpe