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