SwiftUI 在圆角矩形内屏蔽一个矩形

2023-11-23

Card

你好呀。我想知道,在 SwiftUI 中,如何屏蔽圆角矩形的内容,以便子矩形剪掉角。

在我的示例中,我在 zstack 上有一个白色圆角矩形和一个粉色矩形,我尝试应用剪切,但粉色矩形不符合边角。

我尝试将 .mask 应用于白色矩形,但它给出了与预期不同的结果(有时它不显示粉红色矩形)。

我确实找到了一个例子,你可以设置自己的cornerRadius特定圆角 SwiftUI

但我想知道是否有一种方法可以掩盖粉红色矩形的内部/主体,以便它符合父级的圆角矩形?

我的代码如下;

var body: some View {
        GeometryReader { geometry in

            Color.gray
                .edgesIgnoringSafeArea(.top)
                .overlay(

                    ZStack (alignment: .topLeading) {

                        RoundedRectangle(cornerRadius: 16,
                                         style: .continuous)
                            .foregroundColor(.white)
                            .shadow(radius: 10)
                             // Tried using .mask here 

                        Rectangle()
                            .fill(Color.pink)
                            .frame(minWidth: 0, maxWidth: .infinity, maxHeight: 150, alignment: .top)
                            .clipped()


                    }
                    .frame(width: 300, height: 450, alignment: .center)
            )

        }
        .edgesIgnoringSafeArea(.all)
    }

编辑:澄清一下:

粉红色矩形应保持为矩形,但剪裁左上角和右上角以匹配父级白色圆角矩形。


如果我正确理解了你的目标,这里有一个解决方案 - 正确位置唯一需要的剪辑是after构建内部内容(在本例中为两个矩形)。所以剪辑与RoundedRectangle在整个卡片周围提供圆角。 (也shadow最有可能的是整张卡都需要,所以放在最后)。

更新:使用 Xcode 13.3 / iOS 15.4 重新测试

demo

ZStack (alignment: .topLeading) {
    Rectangle()
        .foregroundColor(.white)

    Rectangle()
        .fill(Color.pink)
        .frame(minWidth: 0, maxWidth: .infinity, maxHeight: 150, alignment: .top)
}
.clipShape(RoundedRectangle(cornerRadius: 16))       // << here !!
.frame(width: 300, height: 450, alignment: .center)
.shadow(radius: 10)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SwiftUI 在圆角矩形内屏蔽一个矩形 的相关文章

  • 如何获取 iTunes connect 团队 ID 和团队名称?

    我正在写下一个Appfile for fastlane 我的问题是我已经有了team name and team id在 Apple 开发中心 但我无法获取iTunes Connect ID itc team id 我正在与不同的团队合作
  • Health 处理多个步骤源的方式与 HealthKit 不同——swift

    我的 Swift iOS 应用程序与 HealthKit 连接 向用户显示他们当天到目前为止已经走了多少步 在大多数情况下 这是成功的 当步数的唯一来源是 iPhone 内置计步器功能记录的步数时 一切正常 并且我的应用程序显示的步数与健康
  • 如何设置 NSAttributedString 的字体大小

    编辑 这已被标记为重复 但正如我在下面所述 我正在寻找一个 Swift 解决方案 我发现的所有内容都是用 Objective C 编写的 我正在尝试将 HTML 转换为 NSAttributedString 但不知道如何设置字体样式和大小
  • 将 GestureRecogniser 附加到多个图像视图

    今天我在将相同的手势识别器附加到多个图像视图时遇到了一些奇怪的事情 它仅附加到最后一个视图 换句话说 它只能附加到一个视图 我必须创建多个手势识别器才能满足我的要求 以下是我所做的 我做的对吗 这是将识别器附加到多个图像视图的唯一方法吗 请
  • 如何将 CGRect 转换为 MapRect

    我创建了一个如下方法将 CGRect 转换为 MapRect 如下所示 MKMapRect mapRectForRect CGRect rect CLLocationCoordinate2D topleft mapView convertP
  • Core Data + CloudKit 无法在其他设备上自动刷新?

    我的 SwiftUI 应用程序与 Core Data CloudKit 一起使用 我可以从 Mac 或 iPhone 将新条目保存到数据库中 该应用程序对所有设备使用完全相同的项目 代码库 唯一的问题是我需要关闭应用程序并重新打开它才能查看
  • 为 CocoaPods 插件设置 Xcode

    我正在尝试设置终端 Xcode 以便正确工作Xcode CocoaPods 插件 https github com kattrali cocoapods xcode plugin 当我从插件运行集成 cocoapods 选项时 我收到一条消
  • Xcode 8.3 / Xcode 9.0 刷新配置文件设备

    我添加了一些新设备 当 Xcode 8 自动管理签名资产时 如何刷新配置文件 我发现了这个问题 刷新 Xcode 7 管理的团队配置文件中的设备 https stackoverflow com questions 32729193 refr
  • 使用 Swift 导入 aurioTouch 库

    我正在尝试将 Objective C 应用程序转换为 swift 我想导入课程奥里奥触摸 https developer apple com library ios samplecode aurioTouch Introduction In
  • 如何使用 NSUndoManager 支持替换 UITextView 中的文本?

    我希望能够以编程方式替换 UITextView 中的某些文本 因此我将此方法编写为 UITextView 类别 void replaceCharactersInRange NSRange range withString NSString
  • 使用 NSPredicate 来检测 NOT CONTAINS

    我放弃 我已经尝试了我能想象到的所有组合来检查一个字符串是否包含另一个字符串 这是描述我想要做的事情的直观语法示例 NSPredicate pPredicate NSPredicate predicateWithFormat NOT K C
  • 设置单元格数据后如何更新 UICollectionView 中单元格的大小?

    所以我有一个 UICollectionView 每个单元格中都有不同大小的不同图像 当调用 cellForItemAtIndexPath 时 我使用一种方法更新 UICollectionViewCell 该方法在 Web 上异步获取图像并显
  • Android 和 iOS 中的应用程序文件大小差异

    通过使用两个应用程序分发服务 Android 市场和 Apple 应用程序商店 我发现了一个谜团 Apple 应用程序的文件大小通常大于 Android 应用程序 我似乎找不到任何对这些差异的解释 而且这似乎是一个未触及的主题 我尝试过分配
  • 如何让 iPhone 发出蜂鸣声?

    什么代码可以让我在 iPhone 上发出标准的蜂鸣声 好吧 这取决于您想要什么样的声音 以下是如何使用 AVFoundation 音频框架播放声音 import
  • SwiftUI navigationBarTitle - 显示模式:.inline - 崩溃

    我的 SwiftUI 有问题 我正在创建一个带有导航栏的列表 并且我想将导航栏模式设置为内联 我不希望它太大 默认情况下 但是当我将导航栏标题模式设置为内联时 应用程序崩溃了 struct User var index Int var na
  • 将字符串编码为 HTML 字符串 Swift 3

    如何快速编码字符串以删除所有特殊字符并将其替换为其匹配的 html 编号 假设我有以下字符串 var mystring This is my String That s it 然后用它的html编号替换特殊字符 38 39 gt 62 但我
  • 搜索结果中的 Swift 搜索结果控制器连接到另一个视图控制器

    Problem 我有一个表格视图 用户可以滚动查找某些内容或使用搜索栏 搜索栏不是使用 StoryBoard 创建的 我的观点有一个UISearchController处理搜索栏和搜索结果更新 我遇到的问题是 自从我SearchResult
  • 如何消除圆形矩形按钮周围的间隙而不删除其周围的边框? [复制]

    这个问题在这里已经有答案了 顺便提一句 这可能看起来像是关于按钮阴影问题的问题的重复 但它们有单调的背景 在我的例子中 背景是一些图像 所以简单的边框不能解决问题 While making app for iPhone Pad I noti
  • AVAudioRecorder 可以用来录制来自 iOS 应用程序的音频吗?

    我想录制即将到来的音频from我的 iPhone 应用程序 因此 在混合背景音乐和声音效果之后 我想在从设备的扬声器 或耳机 播放音频之前对音频进行采样 我一直在尝试RemoteIO 音频单元 http developer apple co
  • 无效的 Swift 支持 - 文件位置不正确

    我一直在尝试将新版本上传到 iTunes Connect 来更新应用程序 我第一次使用 xCode 6 但收到了一封来自 Apple 的电子邮件 内容如下 亲爱的开发者 我们发现您最近交付的 应用程序 存在一个或多个问题 要处理您的交货 必

随机推荐

  • 如何创建支持通用 id(包括自动生成的 id)的通用实体模型类?

    我有三个kinds表的主键数 INT自动生成的主键使用AUTO INCREMENT来自数据库供应商的容量 MySQL CHAR X 将用户可读值存储为键的主键 其中 X 是数字且 50 复杂主键 由表的 2 或 3 个字段组成 此外 还有一
  • TabControl 的 TabItems 共享相同的内容...不想要

    以下示例 xaml 使每个选项卡项共享相同的 TextBox 我想 在某种程度上 这是有道理的 但这是意想不到的行为 几乎感觉像是一个错误 我在文档中找不到任何解释该行为或如何正确解决该行为的信息
  • 担心在 itune 配置门户中的团队帐户下的不同组之间共享分发证书的私钥

    我们是一所大型大学 在 Apple itunes 配置门户中拥有一个团队帐户 我们有多个不同的小组开发iOS应用程序 这些应用程序将在团队帐户 大学名称 下发布 看来苹果只允许创建一份分发证书 要发布应用程序 每个组都需要私钥来签署应用程序
  • 尽管我已经删除了该对象,为什么下面的代码没有崩溃?

    class object public void check std cout lt lt I am doing ok lt
  • 无法为 XNA 4.0 游戏选择目标框架

    我有一个 XNA 4 0 项目 希望使用 Net 4 0 完整配置文件进行编译 但默认情况下它设置为客户端配置文件 这目标框架应用程序选项卡中的组合框呈灰色 我已经卸载并重新安装了 Net 3 5 Net 4 0 和 Xna 4 0 可能是
  • 为什么新的 C 书籍不遵循 C99 标准?

    我见过的几乎所有 相对 关于 C 编程的新书似乎都不遵守 C99 标准 或者在额外的章节中对其进行了介绍 来自 Java 背景的 C99 标准使我的迁移 嗯 仍在迁移 变得更加容易 这可能也适用于其他语言 大多数 C 开发人员似乎还没有接触
  • 你可以像 String.fromCharCode 一样使用 String.fromCodePoint 吗

    我仍在学习 JavaScript 并练习从键盘获取输入 我刚刚了解到String fromCodePoint 对我来说 似乎捡起了所有String fromCharCode does Is String fromCodePoint被浏览器和
  • 如何拍照并保存在“ImageView”中?

    我需要采取picture与camera 保存picture 显示ImageView当我点击Imageview显示全屏 mode 将来需要发送picture to the internet 这就是我所做的 public void captur
  • 多重赋值语义

    在 Python 中可以这样做 a b 1 2 a b 1 2 a b 1 2 我使用检查生成的字节码dis并且它们是相同的 那么为什么要允许这样做呢 我是否需要其中之一而不是其他 需要在赋值左侧包含更多结构的一种情况是 当您要求 Pyth
  • 冻结 ASP.NET 网格视图列

    如何冻结 asp net 网格视图中最左边的初始 2 3 列 这样 在水平滚动时 将始终显示冻结的初始 2 3 列 有答案吗 是的 似乎可以使用一些 css 魔法 将固定列和可滚动列放在不同的 z 索引上 以将固定列保持在顶部 这伴随着一个
  • 在Shiny应用程序中删除DT数据表的行

    我有一个闪亮的应用程序 可以在 DT 表中显示数据帧数据 在应用程序中 我有一个按钮 单击该按钮将删除所选行 当我第一次选择行并单击删除按钮时 它会起作用 但再次单击后 错误的行将被删除 并且任何以前删除的行都会重新出现 我假设这是因为当我
  • 强制特定数据类型作为函数的参数

    我只是想知道是否有一种方法可以强制函数只接受某些数据类型 而不必在函数内检查它 或者 这是否不可能 因为 R 的类型检查是在运行时完成的 与 Java 等编程语言相反 类型检查是在编译期间完成的 例如 在 Java 中 您必须指定数据类型
  • 在 python (django) 中使用带参数的游标/查询中的“like”

    我知道这可能很愚蠢 但我决定无论如何都要问 我一直在尝试查询类似的内容 cursor execute select col1 col2 from my tablem where afield like s and secondfield s
  • MySQL和MongoDB之间的数据同步

    我正在寻找一种将数据从 MySQL 同步到 MongoDB 的方法 我不想只是复制我的数据 我希望它们永久同步 有谁知道钨复制器是否可以完成这项工作 我可以看到它复制数据 但是当 MySQL 数据库中发生更改时自动复制数据怎么样 如果不可能
  • 在 Objective-C 中如何测试字符串是否为空?

    我如何测试是否NSStringObjective C 中是空的吗 您可以检查是否 string length 0 这将检查它是否是一个有效但空的字符串 以及它是否为零 因为调用lengthon nil 也会返回 0
  • Office Open XML 中的 之间有什么区别?

    这两个 Office Open XML 片段有什么区别
  • android Camera2 API + TextureView 覆盖用于在相机预览上绘图

    因此 我需要覆盖camera2预览并通过在顶部分层透明覆盖层在预览视频图像上绘制一个矩形 我从这里开始使用基本的 Camera2 代码 https github com googlesamples android Camera2Basic
  • 如何在 DT::datatable 中使用服务器端处理?

    我正在使用 DT datatable 来可视化 R markdown 文件中的表 R markdown file library DT r viewdata this is an example but my actual dataset
  • 如何将 hashMap 与 JTable 一起使用

    我有一个 hashMap 我希望在 JTable 中查看它的数据 但我在获取 hashMap 的列和行数量以及要显示的数据时遇到了麻烦 我有一个 hashmap 它以 accountID 作为键和一个学生的对象 其中每个学生都有自己的数据
  • SwiftUI 在圆角矩形内屏蔽一个矩形

    你好呀 我想知道 在 SwiftUI 中 如何屏蔽圆角矩形的内容 以便子矩形剪掉角 在我的示例中 我在 zstack 上有一个白色圆角矩形和一个粉色矩形 我尝试应用剪切 但粉色矩形不符合边角 我尝试将 mask 应用于白色矩形 但它给出了与