相关疑难解决方法(0)

iOS7中MKMapView的快照

我试图在iOS7应用程序中创建MKMapView的快照,就像之前iOS版本推荐的那样:

- (UIImage*) renderMapViewToImage
{
   UIGraphicsBeginImageContextWithOptions(mapView.frame.size, NO, 0.0);
   [mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
   UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext(); 
   return image;
}
Run Code Online (Sandbox Code Playgroud)

但是,返回的图像是一个黑色矩形,顶部有一个蓝色的当前位置点.我也试过使用mapView的不同子层,但结果总是一样的.

有谁知道如何在iOS7中拍摄MKMapView快照?

mapkit mkmapview ios ios7 mkmapsnapshotter

41
推荐指数
3
解决办法
2万
查看次数

MKMapSnapshotOptions:添加Custom Pin Annotation View或UIView的快照

我试图用MKMapSnapshotter的startWithCompletionHandler方法获取地图视图的快照.我想将自定义图钉注释视图添加到快照.并且我的自定义注释视图中有一个标签.所以当我正在拍摄快照时,我无法显示该标签.这是代码:

 let snapshotter = MKMapSnapshotter(options: options)
    snapshotter.startWithCompletionHandler() {
        snapshot, error in

        if error != nil {
            completion(image: nil, error: error)
            return
        }

        let image = snapshot.image
        let pin = MKPinAnnotationView(annotation: nil, reuseIdentifier: "") // I want to use custom annotation view instead of  MKPinAnnotationView
        let pinImage = UIImage(named: "pinImage")

        UIGraphicsBeginImageContextWithOptions(image.size, true, image.scale);
        image.drawAtPoint(CGPointMake(0, 0))
        var homePoint = snapshot.pointForCoordinate(coordinates[0])
        pinImage!.drawAtPoint(homePoint)

        pinImage!.drawAtPoint(snapshot.pointForCoordinate(coordinates[1]))

        let finalImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        completion(image: finalImage, error: nil)
    }
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,drawAtPoint是UIImage的功能.我尝试使用UIImageView然后我将标签添加到imageView作为subView但我不能使用drawView与imageView,所以我的问题是我无法添加标签到mapView快照.

你可以在链接上看到我的意思:https: //www.dropbox.com/s/83hnkiqi87uy5ab/map.png?dl = 0

谢谢你的建议.

objective-c ios mkmapsnapshotter swift

7
推荐指数
1
解决办法
3016
查看次数

tableView中的Google Map

我在使用swift在表格视图单元格中显示谷歌地图时遇到了问题.我想基于此显示检入(纬度和经度)我想在表格视图中显示谷歌地图.如果没有可用的位置意味着我将获得null,我将从服务器获得经度和纬度.所以,在一个场景中我得到了正确的,但在重新加载顶级时,我正在获取地图的时间和地点,他们的纬度和经度也是空的.请指导我.

google-maps latitude-longitude uitableview xib swift

6
推荐指数
1
解决办法
1328
查看次数

如何打印 SwiftUI 视图

我想使用SwiftUI View 在 macOS (Ventura) 上打印标签之类的东西。但这会导致一张白纸:

func startPrinting() {
    let printView = NSHostingView(rootView: Text("I want to print"))
    printView.frame.size = CGSize(width: 200, height: 200)

    let printInfo = NSPrintInfo()
    printInfo.topMargin = 0
    printInfo.leftMargin = 0
    printInfo.bottomMargin = 0
    printInfo.rightMargin = 0

    let printOperation = NSPrintOperation(view: printView, printInfo: printInfo)
    printOperation.run()
}
Run Code Online (Sandbox Code Playgroud)

当我切换Text到时TextField,它被打印,但我不知道为什么。

如何打印SwiftUI视图?

macos appkit swift swiftui

6
推荐指数
1
解决办法
372
查看次数