LaunchImage持久化

时间:2016-04-15 13:14:11

标签: iphone xcode swift swift2 xcode7

使用Xcode 7我想用UIWebView创建一个小应用程序。 此应用必须从所有设备运行它。 我正在使用"新的iOS启动图像"在资产中。 但是当" Launch"终止在加载WebView之前有一个等待时间(与连接速度不同)。 在这个时候,我想和#34; Launch Screen"继续使用Image作为设备类型。

你能帮助我吗?

2 个答案:

答案 0 :(得分:0)

你不能像苹果推荐的那样增加启动画面的时间,但是你可以做一些让用户觉得闪屏仍然存在的事情。 你可以用这种方式实现它:

我假设启动屏幕后的第一个屏幕加载是WebView屏幕。在界面构建器中的WebView上添加UIImageView,并在ImageView上设置闪屏图像。现在为这个imageView制作IBOutlet并将其隐藏属性设置为yes当webview暗示你在其委托方法中加载它时。别忘了在界面生成器中设置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
    }

}

答案 1 :(得分:0)

我用这段代码解决了它:

extension UIImage {
    convenience init?(fullscreenNamed name: String)  {
        switch UIScreen.mainScreen().bounds.size.height {
        case 480: //iPhone 4/4s
            self.init(named: "\(name)-700@2x.png")
        case 568: //iPhone 5/5s
            self.init(named: "\(name)-700-568h@2x.png")
        case 667: //iPhone 6/6s
            self.init(named: "\(name)-800-667h@2x.png")
        case 736: //iPhone 6+/6s+
            self.init(named: "\(name)-800-Portrait-736h@3x.png")
        default:
            self.init(named: name)
        }
    }
}

我将“LaunchImage”作为正在使用的设备屏幕的正确图像。