Xcode 11.2中的IconRenderer警告

时间:2019-10-24 07:52:58

标签: ios swift xcode xcode11.2

我刚刚创建了一个新的iOS Single View App,然后尝试构建并运行它。我收到了如下警告:

[Renderer] IconRenderer: HorizontalStretchPadding (18.000000, 18.000000) is larger than the image size (34.000000, 54.000000). Image will now use the center column of pixels to stretch.

此警告持续显示多次。

3 个答案:

答案 0 :(得分:1)

当我通过编程方式以动画方式选择MKMarkerAnnotationView时,我遇到了这个警告。

我通过在prepareForDisplay上调用MKMarkerAnnotationView API解决了UI问题:


if #available(iOS 11.0, *) {
    let view = mapView.view(for: annotation)
    view?.prepareForDisplay()
}

让我知道这是否有帮助。

最好, 鲍里斯

答案 1 :(得分:1)

这个警告我想了很久,过了一会儿我才发现我的问题是什么。使用 MapKit 框架创建地图时,程序返回此错误,具体取决于在 latitudeDelta 中作为 longitudeDeltaMKCoordinateSpan 传递的值。所以,我只是减少了这些值,这使地图更接近,但警告不再出现。我的工作代码没有错误:

import SwiftUI
import MapKit

struct MapView: View {
    var coordinate: CLLocationCoordinate2D
    
    @State private var region = MKCoordinateRegion()
    
    var body: some View {
        Map(coordinateRegion: $region).onAppear() {
            setRegion(coordinate)
        }
    }
    
    private func setRegion(_ coordinate: CLLocationCoordinate2D) {
        region = MKCoordinateRegion(center: coordinate, span: MKCoordinateSpan(latitudeDelta: 0.040, longitudeDelta: 0.040))
    }
}

struct MapView_Previews: PreviewProvider {
    static var previews: some View {
        MapView1(coordinate: CLLocationCoordinate2D(latitude: 55.7522200, longitude:  37.6155600))
    }

}

在此之前,值如下: region = MKCoordinateRegion(center: coordinate, span: MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1))

答案 2 :(得分:0)

我在MapView中遇到同样的问题。

我只是在方案中禁用系统登录,而我的MKPointAnnotation也可以正常工作。

  

OS_ACTIVITY_MODE:禁用

enter image description here