首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LaunchImage持久

LaunchImage持久
EN

Stack Overflow用户
提问于 2016-04-15 13:14:10
回答 2查看 74关注 0票数 0

使用Xcode 7,我想用UIWebView创建一个小应用程序。这个应用程序必须在所有设备上运行。我在资产中使用“新iOS启动映像”。但是,当“启动”终止时,在加载WebView之前有一个等待时间(这取决于连接速度)。在这段时间,我想“启动屏幕”,继续坚持使用图像类型的设备。

你能帮帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-18 17:29:34

我用下面的代码解决了这个问题:

代码语言:javascript
复制
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“中为正在使用的设备屏幕提供了正确的图像。

票数 0
EN

Stack Overflow用户

发布于 2016-04-15 14:31:52

你不能像苹果推荐的那样增加启动屏幕的时间,但是你可以做一些会让用户感觉飞溅屏幕还在的事情。你可以通过这样的方式实现它:

我假设在启动屏幕之后的第一个屏幕加载是WebView屏幕。在界面生成器中将UIImageView添加到WebView上,并在ImageView上设置screen图像。现在为这个IBOutlet设置imageView,并在webview通知您它在委托方法中加载时,将其隐藏属性设置为yes。不要忘记在接口生成器中设置UIWebView的委托。

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36648204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档