Swift - 设置圆角以注释视图图像

2024-01-02

这是我之前的线程,我将图像设置为注释视图引脚

Swift - 设置从数组到注释引脚的不同图像 https://stackoverflow.com/questions/28033159/swift-setting-different-images-from-array-to-annotation-pins/28033880#28033880

现在我遇到了在注释视图图像上设置圆角的问题。

cannot show callout with clipsToBounds enabled swift

看来我必须在圆角或显示标注之间进行选择,我真的不明白为什么这两个不能一起出现。有什么办法可以做到这一点吗? 这是我的 viewForAnnotation 函数:

    func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
    if !(annotation is RestaurantAnnotation) {
        return nil
    }

    let reuseId = "restaurant"
    var anView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId)
    if anView == nil {
        anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
        anView.canShowCallout = false
    }
    else {
        anView.annotation = annotation

    }

    let restaurantAnnotation = annotation as RestaurantAnnotation

    if (restaurantAnnotation.image != nil) {

                        anView.image = restaurantAnnotation.image!

                        anView.layer.masksToBounds = true

                        anView.layer.cornerRadius = (anView.frame.size.height)/10.0

    }
    else {
        // Perhaps set some default image
    }

    return anView
}

预先感谢您的任何帮助!


我找到了解决方案,我认为它非常优雅。

不要更改注释的图层,而是创建一个 UIImageView,将图像附加到它并将其作为视图添加到注释中。

    let imageView = UIImageView(frame: CGRectMake(0, 0, 25, 25))
    imageView.image = UIImage(named: cpa.imageName);
    imageView.layer.cornerRadius = imageView.layer.frame.size.width / 2
    imageView.layer.masksToBounds = true
    anView.addSubview(imageView)

让我知道是否对您有用。

DZ

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

Swift - 设置圆角以注释视图图像 的相关文章

随机推荐

  • 在 cygwin 上安装 uwsgi

    有人设法在 cygwin python 2 7 上安装 uwsgi 吗 uwsgi 2 0 11 2 python setup py install running install using profile buildconf defau
  • 有没有 Maven 睡眠功能?

    我设置了 Maven 配置文件用于测试 在预集成测试中 maven 启动两个 jetty 服务器 然后启动测试 我偶然发现的问题是在服务器中 测试开始时它们没有完全加载 看来问题是通过在测试中添加 5 秒睡眠时间来解决的 但我希望将其添加到
  • Makefile 中是否可以依赖符号链接?

    我的项目中需要几个符号链接 From src openlayers 文件夹img and theme必须符号链接在contrib openlayers The contrib openlayers文件夹也应该自动创建 PHONY run r
  • 如果所有者将我从 CloudKit 上的 CKShare 中删除,如何收到通知

    假设某张唱片的所有者与我分享了该唱片 我收到一个共享链接 我打开它并接受共享 如下所示 let operation CKAcceptSharesOperation shareMetadatas metadata operation acce
  • 使用 VBScript 遍历 XML 文件中的所有节点

    我编写了一个 VBScript 它应该遍历 XML 文件中的所有节点 无论树的深度如何 这一点做得很好except不显示 2 级或以上深度的节点的节点名称 我需要节点名称和值 以便获得名称 值对以供其他程序进一步处理 任何人都可以帮我显示丢
  • 使用 Hibernate JPA (JPQL) 进行非多态查询

    我发布这个问题 答案作为扩展如何在 Hibernate 中执行非多态 HQL 查询 https stackoverflow com questions 2093025 how to perform a non polymorphic hql
  • 条件 Java 编译

    我是一名资深 C 程序员 刚接触 Java 我正在 Eclipse 中开发 Java Blackberry 项目 问题 有没有办法在项目中引入不同的配置集 然后根据这些配置集编译略有不同的代码 在Visual Studio中 我们有项目配置
  • 通过 FIFO 重定向 stdin

    我正在 GNU Linux 下运行一个服务器应用程序 用 Java 编写 它接收输入 我猜是来自标准输入 并解释它以运行一些命令 我不想在终端窗口内运行应用程序 我想运行守护程序 但我仍然希望能够随时输入命令 我想我也许可以使用 fifos
  • 使用相同的标记和偏移位访问和更新 2 路关联缓存

    我对如何在双向关联缓存上访问数据感到困惑 例如 C ABS C 32KB A 2 B 32bits S 256 offset lg B 5 index lg S 8 tag 32 offset index 19 假设我有以下地址 tag i
  • 如何根据关系获取一条记录的多条记录?

    我有两个表组织和员工具有一对多关系 即一个组织可以有多名员工 现在我想选择特定组织的所有信息以及该组织所有员工的名字 最好的方法是什么 我可以在单个记录集中获取所有这些内容吗 或者我将不得不根据否获取多行 员工人数 这是我想要的一些图形演示
  • 使用 24 小时制数据创建圆形图的方法是什么?

    我正在尝试使用围绕中心点绘制的一组数据的方式创建一个圆形图 我在网上找到的代码可以做到这一点 但是 Y 轴太大 以至于图形没有用 我想将 Y 轴限制为 95 120 但当我使用Y scale continuous limit c 95 12
  • 在 Ember.js 应用程序中显示在线和离线(例如飞机)模式

    Ember 应用程序可以了解网络状态吗 如果是 如果应用程序可以访问互联网 我如何获取信息 我想根据网络可访问性切换 GUI 元素 索引 html app js App Ember Application create
  • ASP.NET Core 流式传输 - 将块写入请求

    这是更新的问题 我的代码中曾经存在错误 我希望能够将数据块发送给客户端 任何事情都会受到赞赏 有没有办法为 ASP NET Core 提供对数据流传输方式的更多控制 我担心下面的代码如何扩展 有人可以建议如何通过 asp net core
  • 内部测试人员如何下载“Android”预发布的App版本?

    有人可以告诉我 内部测试人员如何下载 Android 预发布的应用程序版本吗 因为现在 TestFlight 仅适用于苹果收购的iOS 解决方案是否是将 Android 预发布应用程序上传到 Google Play 并邀请内部测试人员下载
  • 尝试使用 jQuery 模式弹出窗口通过 iframe 查看 pdf 文件

    我正在尝试使用 jQuery 模式弹出窗口通过 iframe 显示 pdf 文件 但是 它要求用户在页面加载时下载该文件 而不是在模式对话框打开时将 pdf 文件嵌入到 iframe 中 我该如何解决这个问题 我使用 MVC 输出 pdf
  • Android System.err 突然出现

    运行我的应用程序时 LogCat 突然显示一系列橙色消息 警告 这些消息似乎与我的应用程序完全无关 当然not具有相同的 pid 05 01 12 00 03 732 WARN System err 1836 java io FileNot
  • 在R中读取csv文件,其中货币列为数字

    我正在尝试读入 R 一个包含政治捐款信息的 csv 文件 据我了解 默认情况下 列会作为因子导入 但我需要将金额列 数据集中的 CTRIB AMT 作为数字列导入 这样我就可以运行各种不适用于的函数因素 该列的格式为带有 作为前缀的货币 我
  • 使用反引号时转义空格

    我进行了搜索 从我的角度来看 使用反引号是解决这个问题的唯一方法 我正在尝试致电mdlsPerl 命令为目录中的每个文件查找其上次访问时间 我遇到的问题是在我的文件名中find我有 bash 显然不喜欢的未转义空间 有没有一种简单的方法可以
  • 警告:mysql_real_escape_string() 期望参数 1 为字符串

    HTML代码 tr td td tr
  • Swift - 设置圆角以注释视图图像

    这是我之前的线程 我将图像设置为注释视图引脚 Swift 设置从数组到注释引脚的不同图像 https stackoverflow com questions 28033159 swift setting different images f