我刚刚创建了一个新的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.
此警告持续显示多次。
答案 0 :(得分:1)
当我通过编程方式以动画方式选择MKMarkerAnnotationView
时,我遇到了这个警告。
我通过在prepareForDisplay
上调用MKMarkerAnnotationView
API解决了UI问题:
if #available(iOS 11.0, *) {
let view = mapView.view(for: annotation)
view?.prepareForDisplay()
}
让我知道这是否有帮助。
最好, 鲍里斯
答案 1 :(得分:1)
这个警告我想了很久,过了一会儿我才发现我的问题是什么。使用 MapKit
框架创建地图时,程序返回此错误,具体取决于在 latitudeDelta
中作为 longitudeDelta
和 MKCoordinateSpan
传递的值。所以,我只是减少了这些值,这使地图更接近,但警告不再出现。我的工作代码没有错误:
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)