Swift - 如何创建带有裁剪形状的视图

2023-11-22

我正在尝试使用 swift 1.2 和 xcode 6 来实现图像中显示的结果。

基本上我想创建一个带有切入形状的视图,以便能够看到下面的视图,为我的应用程序制作教程。 我知道如何创建圆形形状,但不知道如何在视图中将其剪掉。 我需要一个完整的例子来说明如何做到这一点。 提前致谢

Image


尽管有答案,我还是想分享我的方法:

// Let's say that you have an outlet to the image view called imageView
// Create the white view 
let whiteView = UIView(frame: imageView.bounds) 
let maskLayer = CAShapeLayer() //create the mask layer

// Set the radius to 1/3 of the screen width
let radius : CGFloat = imageView.bounds.width/3 

// Create a path with the rectangle in it.
let path = UIBezierPath(rect: imageView.bounds)
// Put a circle path in the middle
path.addArcWithCenter(imageView.center, radius: radius, startAngle: 0.0, endAngle: CGFloat(2*M_PI), clockwise: true)

// Give the mask layer the path you just draw
maskLayer.path = path.CGPath
// Fill rule set to exclude intersected paths
maskLayer.fillRule = kCAFillRuleEvenOdd

// By now the mask is a rectangle with a circle cut out of it. Set the mask to the view and clip.
whiteView.layer.mask = maskLayer
whiteView.clipsToBounds = true

whiteView.alpha = 0.8
whiteView.backgroundColor = UIColor.whiteColor()

//If you are in a VC add to the VC's view (over the image)
view.addSubview(whiteView)    
// Annnnnd you're done.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift - 如何创建带有裁剪形状的视图 的相关文章

随机推荐

  • 从 PHP 检查 Google 地图点是否在多边形中

    我一直在寻找一种方法来检查一个点是否是多边形的一部分 该多边形是从文件加载的 与这个问题相关的所有答案都是用javascript解决的 但我需要在服务器端执行此操作 这是因为结果不需要作为 Web 客户端显示给用户 而是需要存储并稍后用作参
  • 我想使用 EBImage 包,但它说它不适用于我的 R 版本

    install packages 中的警告 软件包 EBImage 不可用 适用于 R 版本 3 2 4 修订版 现在该怎么办有什么帮助 请指导我 EBImage作为 Bioconductor 项目的一部分分发 要安装包 请使用 sourc
  • MongoDB 不区分大小写的键搜索

    我可以不区分大小写地查询值 但我想不敏感地查询键 以便用户可以以全部小写形式键入它们 这不起作用 因为它不是有效的 JSON lastName i Jones 除了将新的键集合作为值之外 是否有我可以使用的策略 目前还没有办法做到这一点 M
  • 无法在 Google App Engine 中调试 dev_appserver

    我不认为这个问题是 PyDev 所独有的 而是任何 python 调试器所独有的 使用 Eclipse 和 pydev 我无法在 dev appserver Google 应用程序引擎开发服务器 进程中中断 WSGI 处理程序 我不是 10
  • MySQL Workbench 会话看不到数据库更新

    我使用 deb 在 Ubuntu 系统中安装了 MySQL Workbench community 6 2 3 工作台会话似乎没有看到其他会话 应用程序 命令行客户端 对数据库完成的更新 DML 新会话能够在启动时看到数据库的正确状态 但随
  • 动态更改源后加载音频元素

    我的页面正文中出现了几个音频元素 他们看起来像这样
  • python中有内置的恒等函数吗?

    我想指出一个不执行任何操作的函数 def identity args return args 我的用例是这样的 try gettext find gettext gettext else identity 当然 我可以使用identity上
  • java.lang.ClassNotFoundException: org.joda.time.ReadablePartial

    我使用 Eclipse Luna 和 Jaspersoft Studio 插件 6 2 2 来生成 Web 应用程序的开发人员报告 从 Eclipse 插件运行一份基本的空白报告没有问题 但是当我从 java 类加载此 jrxml 时 我收
  • 如何使用 ajax POST 到 php

    我似乎不知道如何使用ajax 来发帖 我做了一个愚蠢的表格来尝试一下 即使将其一直削减到只有两个值 仍然无法让任何东西发挥作用 我的html是这样的
  • MS Graph API C# 将用户添加到组

    我一直在研究如何使用 Microsoft Graph API nuget 上提供的 dotnet C 库 从 Azure AD 组中添加 以及稍后删除 用户 Nuget MS Graph API 忽略与连接相关的所有其他内容GraphSer
  • 使用servicestack捕获异常

    我们使用 ServiceStack 来提供基于 REST 的服务已经有一段时间了 到目前为止 它的表现令人惊叹 我们所有的服务都写成 public class MyRestService RestService
  • 如何让任务计划程序从 powershell 脚本检测失败的错误代码

    我有一些 powershell 脚本 当它们内部出现故障时 我试图在 Windows 任务计划程序中将它们触发为失败状态 所以我在 powershell 脚本中做了类似的事情 我尝试了退出代码 1 或 99 但看起来 Windows 任务计
  • Python请求库如何使用单个令牌传递授权标头

    我有一个请求 URI 和一个令牌 如果我使用 curl s
  • 如何在C#中触发与最大化相关的事件

    考虑以下代码 Window myWindow new MyWindowSubclass myWindow BringIntoView myWindow Show Code which is effective as pressing the
  • 具有主键和唯一键的表意外锁定

    对于同时具有主键和单独的唯一索引的表上的事务 我遇到了 innodb 锁定问题 看起来如果 TX 使用唯一键删除一条记录 然后重新插入相同的记录 这将导致下一个键锁定而不是预期的记录锁定 因为键是唯一的 请参阅下面的测试用例以及我希望拥有哪
  • 为什么局部静态对象的初始化使用隐藏的保护标志?

    C 中的局部静态对象在第一次需要时初始化一次 如果初始化有副作用 则这是相关的 void once static bool b std cout lt lt hello lt lt std endl return true once第一次调
  • 是否有一个类可以从 .NET 中的 XSD 架构生成示例 XML 文档

    在 Visual Studio 中 您可以从现有架构创建模板 XML 文档 新的XML 模式浏览 器VS2008 SP1 更进一步 可以创建包含数据的示例 XML 文档 NET 中是否有一个类库可以自动执行此操作 而无需使用 Visual
  • Apple Music 与 MPNowPlayingInfoCenter 冲突

    当我的音乐播放器应用程序在后台播放时 我需要一些帮助来解决问题 我可以使用这两种服务在应用程序和后台播放音乐 我还可以设置MPNowPlayingInfoCenter它显示正确的信息 但播放 暂停 下一首曲目和上一首曲目只有在用户通过 Sp
  • 在 Python 中对数字进行四舍五入但保留末尾的零

    我一直在编写一个脚本 该脚本从 Excel 电子表格中获取数据 对数字进行四舍五入 并删除小数点 例如 2606 89579999999 变为 26069 但是 我需要将数字四舍五入到小数点后两位 即使会有尾随零 因此 2606 89579
  • Swift - 如何创建带有裁剪形状的视图

    我正在尝试使用 swift 1 2 和 xcode 6 来实现图像中显示的结果 基本上我想创建一个带有切入形状的视图 以便能够看到下面的视图 为我的应用程序制作教程 我知道如何创建圆形形状 但不知道如何在视图中将其剪掉 我需要一个完整的例子