动画 gif 在使用 MKOverlayRenderer 的 MKMapView 叠加中不起作用

2024-02-26

我正在尝试在叠加层中显示动画 gifMKMapView。覆盖层是使用以下命令创建的MKOverlayRenderer。为了在 iOS 7 中制作 gif 动画,我使用UIImage+animatedGIF已发布类别here https://github.com/mayoff/uiimage-from-animated-gif在 GitHub 上。

动画 gif 的图像在使用类别的叠加层中显示良好;然而,gif 并没有动画效果。我可以使用类别来制作 gif 动画UIImageView但它似乎在地图视图叠加中无法正常工作。

如何使用此类别将动画 gif 放置在地图视图叠加层中?

or...

有没有办法放置一个UIImageView在覆盖层中,这可能通过设置来解决我的问题UIImageView与动画gif?

我的覆盖渲染器子类如下:

MapOverlayRenderer.h

#import <MapKit/MapKit.h>

@interface MapOverlayRenderer : MKOverlayRenderer
- (instancetype)initWithOverlay:(id<MKOverlay>)overlay overlayImage:(UIImage *)overlayImage;
@end

MapOverlayRenderer.m

#import "MapOverlayRenderer.h"

@interface MapOverlayRenderer ()
@property (strong,nonatomic) UIImage *image;
@end

@implementation MapOverlayRenderer

- (instancetype)initWithOverlay:(id<MKOverlay>)overlay overlayImage:(UIImage *)overlayImage {

    self = [super initWithOverlay:overlay];

    if (self) {
        _image = overlayImage;
    }

    return self;
}

- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context {

    CGImageRef imageReference = self.image.CGImage;

    MKMapRect theMapRect = [self.overlay boundingMapRect];
    CGRect theRect = [self rectForMapRect:theMapRect];

    CGContextScaleCTM(context, 1.0, -1.0);
    CGContextTranslateCTM(context, 0.0, -theRect.size.height);

    CGContextDrawImage(context, theRect, imageReference);    
}

@end

In my UIViewController,我正在获取动画 gif 并通过调用包含以下代码的方法添加叠加层:

NSURLSession *session = [NSURLSession sharedSession];

    [[session dataTaskWithURL:[NSURL URLWithString:radarUrl] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

        self.radarImage = [UIImage animatedImageWithAnimatedGIFData:data];  //for animated radar image

        dispatch_async(dispatch_get_main_queue(), ^{

            [self.mapView addOverlay:self.polygon];

        });

    }] resume];

任何关于如何在 iOS 7 地图视图叠加层中制作 gif 动画的建议将不胜感激。


https://github.com/jhurray/iOS7AnimatedMapOverlay https://github.com/jhurray/iOS7AnimatedMapOverlay

这是 iOS7 中叠加动画的最佳方式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动画 gif 在使用 MKOverlayRenderer 的 MKMapView 叠加中不起作用 的相关文章

  • NSUserDefaults 无法保存 NSMutableDictionary

    我尝试使用以下代码将 NSMutableDictionary 保存到 NSUserDefaults NSUserDefaults def NSUserDefaults standardUserDefaults NSMutableDictio
  • TextField 中的 NSAttributedString 在单击时更改/重置

    我正在跟进THIS https developer apple com library mac qa qa1487 index html来自苹果的指南 但它并没有真正正常工作 基本上 我试图通过自定义 WindowController 类向
  • iOS7:我们可以在 Dynamic Type 中使用 Helvetica Neue 以外的字体吗?

    我们正在为 iOS7 设计一个应用程序 我们的设计师想要使用非默认字体 Avenir 但我不想失去动态类型功能 据我了解 动态类型只能与默认系统字体 Helvetica Neue 一起使用 是否可以使用其他字体 或者目前无法选择 据我了解
  • 转换 [NSNumber numberWithUnsignedInt:kCVPixelFormatType_32BGRA], (id)kCVPixelBufferPixelFormatTypeKey, nil];到斯威夫特

    这里出现错误 绞尽脑汁 尝试了各种组合 找不到类型 NSDictionary 的初始化程序 该初始化程序接受类型 object Int forKey CFString 的参数列表 configure the pixel format Obj
  • 在屏幕外绘制 uiview

    我想创建一个 UIView 它在调用 ViewDidLoad 时位于屏幕外 但一旦调用某个函数 我就会将其动画显示到屏幕上 用于对 UIView 进行动画处理的代码很好 但我似乎无法从屏幕外绘制 UIView 我已将故事板中的 UIView
  • UITextField:键盘出现时移动视图

    我目前正在开发一个具有单个视图的 iPhone 应用程序 该应用程序有多个 UITextFields 用于输入 当键盘显示时 它会覆盖底部的文本字段 所以我添加了相应的textFieldDidBeginEditing 方法 将视图向上移动
  • 在ios键盘上方显示建议工具栏

    我是iOS开发的新手 我正在尝试在 ios 5 1 中创建一个具有 textView 的拼写建议类型应用程序 这样如果用户点击键盘的某个键 则建议工具栏会出现在键盘顶部 其中包含所有建议 并且如果用户点击这些建议之一它将显示在 textVi
  • Python代码检测OS X El Capitan中的暗模式以更改状态栏菜单图标

    我有目标 C 代码来检测暗模式以更改状态栏 NSDistributedNotificationCenter defaultCenter addObserver self selector selector darkModeChanged n
  • 关于将 Objective C 代码添加到 swift 动态框架的澄清

    我有一个 swift 动态框架 当前正在链接到另一个用 Objective C 编写的框架 这可以工作 但很烦人 因为 Objective C 框架实际上只有 2 个文件 我想知道是否有办法将其带入我的 swift框架 如果这是我会使用的应
  • UIView表面自定义变换/动画(如“水滴效果”)

    实施方式是什么自定义转换 动画 在视图表面 类似于所附图片 not只是视图边界 问题主要在于一般的方法是什么做到这一点 不完全是 水滴效应 但任何例子肯定会受到赞赏 我想 这是层布局 网格 的某种 算法 转换 但不确定以哪种方式 挖掘 它
  • MFMailComposeViewController 立即关闭

    情况是 MFMailComposeViewController 将被呈现 我看到它已经完成了一半 但后来就被驳回了 这是错误 serviceViewControllerReady 错误 错误域 UIViewServiceInterfaceE
  • 在后台线程上搜索

    我试图在 iPhone 应用程序中搜索数千个对象 但是搜索严重滞后 每次击键后 UI 都会冻结 1 2 秒 为了防止这种情况 我必须在后台线程上执行搜索 我想知道是否有人有一些在后台线程上搜索的提示 我读了一点NSOperation并在网上
  • UIBarButtonItem 按下后更改字体,在外观代理中指定

    我设置了UIBarButtonItem标题字体通过appearanceAppDelegate 中的代理 UIBarButtonItem appearance setTitleTextAttributes NSDictionary dicti
  • Swift try inside Objective-C 块

    我需要创建一个函数foo它接受一个抛出闭包作为参数 我可以使用 Swift 或 ObjC 来实现它 但我需要能够从两者中调用它 像这样 Swift func bar throws func foo block throws gt void
  • 如何将 NSMutableArray 添加到 NSMutableArray Objective-c

    我正在从 Java 切换到 Objective c 但遇到了一些困难 我已经搜索过这个问题但没有取得太大成功 我有一个存储 NSMutableArrays 的 NSMutableArray 如何向数组添加数组 您可以在数组中存储对另一个数组
  • 使用 JSONKit 解析 JSON 文件

    我正在构建一个音叉应用程序 货叉应允许最多 12 个预设节距 此外 我希望允许用户选择一个主题 每个主题都会加载一组预设 不必使用所有预设 我的配置文件看起来像这样 theme A3 comment An octave below conc
  • 自动生成的 Swift 桥接标头中“找不到接口声明”

    我当前的项目包含 Swift 和 Objective C 代码 两种类型的源文件都使用另一种语言的代码 当我进行完全清理并重新编译时 几乎每个 Swift 类声明都出现错误Module Swift h 形式为 Cannot find int
  • 将 NSFetchedResultsController 添加到项目后出现问题

    我设置 CoreData 时没有NSFetchedResultsController一切都保存得很好 切换到之后NSFetchedResultsController 我在尝试保存图像时遇到奇怪的错误 这是我用来保存图像的代码 void sa
  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • 从应用程序内发送电子邮件中的图像和文本

    如何从我的应用程序内通过电子邮件发送图像和文本 表格数据形式 请大家帮忙并提出建议 谢谢 void sendMailWithImage UIImage image if MFMailComposeViewController canSend

随机推荐

  • autodoc 扩展模拟类的类

    我正在尝试在扩展外部类的类上运行 autodoc 我使用了模拟以便接受导入 为此 我使用了本博客中描述的内容http blog rtwilson com how to make your sphinx documentation compi
  • 大型 DAG 上的拓扑排序示例

    我正在寻找现实世界的应用程序拓扑排序执行于大图 sizes 我想象您可以找到此类实例的一些领域是生物信息学 依赖性解析 数据库 硬件设计 数据仓库 但我希望你们中的一些人可能遇到或听说过任何需要的特定算法 项目 应用程序 数据集顶排序 即使
  • SELECT 滚动的 Javascript 控制

    首先 我不是 Javascript 专家 我想向我正在使用的选择框添加一项功能 当添加新项目时 该功能会自动滚动到末尾 但前提是用户尚未向上滚动 基本上 当用户查看较旧的条目时 我不希望新到达的条目将位置固定到选择列表的末尾 但是 如果用户
  • 将网络拆分为多个前缀的子网

    我正在使用netaddr模块并试图弄清楚如何 是否可以将网络拆分为不同前缀的子网 例如 将 16 拆分为 X 23 和 Y 24 据我所知 我们可以使用subnet函数将网络分割为 X 个给定前缀 但只需要 1 个前缀 上面的代码将从 16
  • 垂直对齐内联柔性元素

    我试图在同一个 div 中垂直对齐 3 个不同的 inline flex 元素 但最后一个不符合预期 container height 100px width 100 background color blue container left
  • Android MPchart Piechart Legend set自定义错误

    我正在使用 MPchart 饼图 当我设置自定义图例数组时 它不接受该数组 我的代码 Legend l chart getLegend l setCustom ColorTemplate VORDIPLOM COLORS new Strin
  • Django Rest Framework 多个嵌套可写序列化器

    我正在尝试使用 django Rest 框架实现多个嵌套的可写序列化器 我已阅读可用的文档http www django rest framework org api guide serializers writable nested re
  • 如何在 lme4 中获取收敛错误消息或最大梯度

    使用 lme4 进行随机效应模型后如何获得最大梯度值 默认情况下 如果大于0 002就会显示 但我想制作一个如下所示的原始函数 它需要一个最大梯度的返回值 无论该值是否大于0 002 做原始模型 MM lt lmer Y 1 X 1 clu
  • 如何在matplotlib中绘制单个点

    我想在图表上绘制一个点 但似乎它们都需要绘制为列表或方程 我需要像这样绘制ax plot x y 我的位置会出现一个点x y我的图表上的坐标 import matplotlib pyplot as plt from mpl toolkits
  • NoSQL 用例场景或何时使用 NoSQL [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 尽管有这么多的炒作 但似乎很难找到关于何时使用它的可靠信息 所以我提出以下问题 如果这些问题真的很愚蠢 我很抱歉 我应该对用户数据使用 NoSQ
  • 如何运行后台进程来响应 VSTO Office 加载项中的选择更改事件?

    我有一个 VSTO 应用程序级加载项 带有我自己的自定义任务窗格 我试图拦截 SelectionChange 事件 并在自定义任务窗格中显示与选择相关的信息 我确实知道如何同步执行此操作 但是 获取要显示的信息的过程很慢 并且我不想在获取信
  • 四舍五入浮点数:精确打印小数点后两位数字,四舍五入到最接近的小数位

    我们如何在 C C 中对浮点数进行四舍五入 以精确打印小数点后四舍五入到最接近的小数位的两位数字 举例来说 当我使用时 printf 2f 12 555 cout lt
  • 如何在 Clojure 中以字符串形式获取函数名称?

    在 Clojure 中如何以字符串形式获取函数名称 到目前为止 我所拥有的看起来并不接近惯用 defn fn name f first re find lt str f defn foo fn name foo returns foo ED
  • 如何在DataGridTextColumn的工具提示中显示IDataErrorInfo的错误?

    对于文本框 当我将以下 xml 放入 App xml 时效果很好
  • NameError:未定义全局名称

    我在 Mac OS X 上使用 Python 2 6 1 我有两个简单的 Python 文件 如下 但是当我运行时 python update url py 我在终端上得到 Traceback most recent call last F
  • 将一个派生类转换为另一个派生类而不更改基类

    我有几个孩子班级都有同一个家长 每个子类都可以使用父对象中包含的一些数据来构造 我想使用基础对象中包含的信息将一个孩子转换为另一个孩子 不修改基础对象 目前它的实现如下例所示 include
  • jqgrid:如何发送和接收行数据保持编辑模式

    jqGrid 有员工姓名和员工 ID 列 If employee name已更改 应调用服务器验证方法来验证名称 当前行列应根据此方法返回的数据进行更新 If employee id已更改 应调用服务器验证方法来验证 id 当前行列应根据此
  • 网络配置和机器配置

    Web 配置和机器配置有什么区别 小心 配置文件有一个层次结构 applicationHost config是顶级 IIS 配置文件 Next is machine config 这是顶级的 特定于服务器的配置文件 接下来是服务器级别web
  • Spark在本地运行但在YARN中运行时找不到文件

    我一直在尝试提交一个简单的 python 脚本来使用 YARN 在集群中运行它 当我在本地执行作业时 没有问题 一切正常 但当我在集群中运行它时 它失败了 我使用以下命令执行了提交 Spark submit masteryarn deplo
  • 动画 gif 在使用 MKOverlayRenderer 的 MKMapView 叠加中不起作用

    我正在尝试在叠加层中显示动画 gifMKMapView 覆盖层是使用以下命令创建的MKOverlayRenderer 为了在 iOS 7 中制作 gif 动画 我使用UIImage animatedGIF已发布类别here https gi