【问题标题】:iOS Simulators doesnt render layer as real deviceiOS 模拟器不会将图层渲染为真实设备
【发布时间】:2019-03-19 08:24:36
【问题描述】:

在我的 iOS 应用中,我使用带有 GMSLayer 的 Google 地图视图,透明度在真实设备上正确呈现,但在模拟器上背景为白色,我无法为 App Store 制作屏幕截图...

这是我使用的代码:

// Implement GMSTileURLConstructor
    // Returns a Tile based on the x,y,zoom coordinates, and the requested floor

    let urls: GMSTileURLConstructor = {(x, y, zoom) in
        let url = "http://wxs.ign.fr/[KEY]/geoportail/wmts?LAYER=TRANSPORTS.DRONES.RESTRICTIONS&FORMAT=image/png&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX=" + String(zoom) + "&TILEROW="+String(y)+"&TILECOL="+String(x)
        return URL(string: url)
    }

    // Create the GMSTileLayer

    let layer = GMSURLTileLayer(urlConstructor: urls)

    layer.zIndex = 0
    layer.map = mapView

class TestTileLayer: GMSSyncTileLayer {
override func tileFor(x: UInt, y: UInt, zoom: UInt) -> UIImage {

    let url = URL(string : "http://wxs.ign.fr/[KEY]/geoportail/wmts?LAYER=TRANSPORTS.DRONES.RESTRICTIONS&FORMAT=image/png&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX=" + String(zoom) + "&TILEROW="+String(y)+"&TILECOL="+String(x))

    return UIImage(data: try! Data(contentsOf: url!))!
}
}

我确定 URL 给出的图像使用了透明度,我尝试手动将白色像素更改为透明,但它并没有改变任何东西...

【问题讨论】:

标签: ios swift xcode simulator


【解决方案1】:

这是一个模拟器问题,只是在here 中提到过。

但是,正如@a.munzer 建议的一些解决方法,您可以从真实设备上截取屏幕截图并进行编辑,这应该不是什么大问题。

【讨论】:

    猜你喜欢
    • 2011-12-14
    • 2010-11-10
    • 2013-06-30
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    相关资源
    最近更新 更多