Xcode 5 & Asset Catalog: How to reference the LaunchImage?

前端 未结 14 1500
萌比男神i
萌比男神i 2020-11-28 18:17

I am using Xcode 5\'s Asset Catalog, and I would like to use my LaunchImage as the background image of my home view (a pretty common practice to make the transi

14条回答
  •  攒了一身酷
    2020-11-28 18:51

    Updated to latest Swift syntax (Swift 5)

       func splashImageForOrientation(orientation: UIInterfaceOrientation) -> String? {
    
        var viewSize = screenSize
        var viewOrientation = "Portrait"
        if orientation.isLandscape {
            viewSize = CGSize(width: viewSize.height, height: viewSize.width)
            viewOrientation = "Landscape"
        }
        if let infoDict = Bundle.main.infoDictionary, let launchImagesArray = infoDict["UILaunchImages"] as? [Any] {
            for launchImage in launchImagesArray {
                if let launchImage = launchImage as? [String: Any], let nameString = launchImage["UILaunchImageName"] as? String, let sizeString = launchImage["UILaunchImageSize"] as? String, let orientationString = launchImage["UILaunchImageOrientation"] as? String {
                    let imageSize = NSCoder.cgSize(for: sizeString)
                    if imageSize.equalTo(viewSize) && viewOrientation == orientationString {
                        return nameString
                    }
                }
            }
        }
        return nil
    }
    

提交回复
热议问题