SwiftUI 矩形中的对角线 LinearGradient

2023-12-24

问题:我正在尝试在 SwiftUI 中渲染矩形形状的对角线性渐变。

我实现了一个标准的多站线性渐变,当渲染为正方形时它工作得很好,但是当我将框架更改为矩形时,它有一些奇怪的行为,并且看起来更水平,或者有一些奇怪的剪裁。

Code:

struct CustomGradient: View {

    var body: some View {
        LinearGradient(
            gradient: Gradient(stops: [
                .init(color: Color(#colorLiteral(red: 0.776, green: 0.266, blue: 0.988, alpha: 1)), location: 0),
                .init(color: Color(#colorLiteral(red: 0.356, green: 0.348, blue: 0.870, alpha: 1)), location: 0.62),
                .init(color: Color(#colorLiteral(red: 0.357, green: 0.349, blue: 0.870, alpha: 1)), location: 1)
            ]),
            startPoint: .bottomTrailing,
            endPoint: .topLeading
        )
    }

If I render the preview as a square, it works fine Preview: enter image description here

Code:

struct BrandGradient_Previews: PreviewProvider {
    static var previews: some View {
        BrandGradient()
            .frame(width: 300, height: 300)
    }
}

However, if I change the preview frame to .frame(width: 300, height: 100), it renders incorrectly (IMO): enter image description here

如何获得在矩形和正方形中从一个角到另一个角渲染的渐变?


这是正常行为。这甚至不是 swiftui 的问题。问题是你在较小的高度上拉伸相同的颜色,因此颜色的分布会少得多,因此紫色不会像在正方形中那样在边缘消失(只是没有足够的空间) 。

我将您的担忧转嫁给了专业工具,例如Adobe XD and Photoshop结果是一样的xCode我只是发帖Adobe XD结果,您确实可以在任何在线或离线梯度生成器上运行相同的测试。

希望这个对你有帮助。

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

SwiftUI 矩形中的对角线 LinearGradient 的相关文章

  • 无法删除临时文件夹(有时)

    当我启动应用程序时 我创建一个临时文件夹 public static File createTempDir String name throws IOException File tempDir File createTempFile na
  • 如何将图像转换为 UIImage?

    如何转换 SwiftUIImage to a UIImage let image Image systemName circle fill let UIImage image as UIImage 没有直接的方法将 Image 转换为 UI
  • 用于创建动画渐变按钮背景的 CSS

    我正在寻找一个CSS规则可以创建一个CSS动画按钮的彩色渐变背景 https i stack imgur com NHqf8 gif 我只是想玩它并这样做 https codepen io prashant nadsoftdev pen b
  • 如何观察UserDefaults的变化?

    我有一个 ObservedObject在我看来 struct HomeView View ObservedObject var station Station var body some View Text self station sta
  • 如何在 swiftUI (macOS) 中检测按键按下和释放

    除了标题之外没什么可说的 我希望能够在按下按键和释放按键时 在 macOS 上 在 swiftUI 视图中执行操作 在 swiftUI 中是否有任何好的方法可以做到这一点 如果没有 有什么解决方法吗 不幸的是 键盘事件处理是其中一个令人痛苦
  • Haskell 输入返回元组

    我想知道 IO 函数是否可以返回元组 因为我想从这个函数中获取这些元组作为另一个函数的输入 investinput IO gt Char Int investinput do putStrLn Enter Username username
  • 由枚举驱动的 SwiftUI 选择器:值未更新

    根据苹果公司的相关文档SwiftUI 中使用 Enum 的选取器 https developer apple com documentation swiftui picker 如果枚举符合Identifiable协议除了CaseIterab
  • SwiftUI:状态栏颜色

    有没有办法将 SwiftUI 视图的状态栏更改为白色 我可能错过了一些简单的东西 但我似乎找不到在 SwiftUI 中将状态栏更改为白色的方法 到目前为止我只看到 statusBar hidden Bool 状态栏文本 色调 前景色可以通过
  • 致命错误:在字典中发现“地理编码地标”类型的重复键。 (Mapbox 地理编码器)

    我引用 这通常意味着要么该类型违反了 Hashable 的要求 要么此类字典的成员在插入后发生了变化 我正在使用 Mapbox Geocoder 当发生此运行时错误时 我的 XCode 将我带到线程 1 0 swift runtime on
  • 如何使用 SwiftUI 创建自定义滑块?

    我可以使用 SwiftUI 创建滑块 但无法更改滑块的样式 如下图所示 问题 我无法在 SwiftUI 中找到任何选项来更改滑块样式 注意 我想仅使用 SwiftUI 创建它 我已经在 Swift 中使用 创建了这个滑块 https git
  • 如何使用 open with 语句打开文件

    我正在研究如何在 Python 中进行文件输入和输出 我编写了以下代码 将一个文件中的名称列表 每行一个 读取到另一个文件中 同时根据文件中的名称检查名称并将文本附加到文件中出现的位置 该代码有效 可以做得更好吗 我想用with open
  • SwiftUI:如何让项目的拖放重新排序起作用?

    我有以下 SwiftUI 视图 struct ContentView View State var model Model var body some View ScrollView LazyVGrid columns columns sp
  • 捕获 SwiftUI 中的错误

    我在某些视图中有一个按钮 它调用 ViewModel 中可能引发错误的函数 Button action do try self taskViewModel createInstance name self name catch Databa
  • SwiftUI - 使用“ObservableObject”和@EnvironmentObject 有条件地显示视图

    我想在我的应用程序中有条件地显示不同的视图 如果某个布尔值为 true 则将显示一个视图 如果为 false 将显示不同的视图 该布尔值位于 ObservableObject 类中 并根据将要显示的视图之一进行更改 PracticeStat
  • Java - 了解 PrintWriter 和刷新的需要

    好吧 首先我对所有代码表示歉意 但我觉得代码太多总比代码不够好 我正在制作一个简单的聊天客户端和印刷机 尤其是我正在努力解决的问题 使用现在的代码 它将与服务器类交互 并且完美地打印我想要打印的内容 但是 当我删除 writer flush
  • 上下文菜单未在 SwiftUI 中更新

    我正在尝试设置 SwiftUI contextMenu带有一个切换按钮Bool价值 上下文菜单的按钮文本应该在以下情况下更改 Bool切换 但上下文菜单不会更新 有没有办法强制更新上下文菜单 描述问题的示例代码 import SwiftUI
  • 如何在 SwiftUI 中延迟动画?

    我想为两个文本字段设置动画 第二个字段有延迟 但它不起作用 没有延迟 它们同时从位置 100 动画到 0 这是代码 State private var offset CGFloat 100 State private var offset2
  • 如何使用 SwiftUI 拖动工作滑块

    我想拖动一个滑块 当然也让它滑动 我可以做其中之一 但我不能两者都做 如何拖动并拥有可用的滑块 我也尝试找到一种方法来删除手势 但我找不到方法来做到这一点 还尝试了 Apple Composition SwiftUI Gestures 文档
  • 如何使用C++以相反的顺序读取文件[重复]

    这个问题在这里已经有答案了 如何使用 C 以相反的顺序 即从 eof 读取文本文件 是的 但基本上你必须手动完成 基本算法如下 查找文件末尾is seekg 0 is end 确定文件大小is tellg 反复向后查找并读取文件块 直到到达
  • 过滤路径列表以仅包含文件

    如果我有一个清单FilePaths 如何过滤它们以仅返回常规文件 即不是符号链接或目录 例如 使用getDirectoryContents main do contents lt getDirectoryContents foo bar l

随机推荐

  • ScalaTest 测试名称没有固定装置?

    首先 我看到了它并且这另一篇文章 https stackoverflow com questions 14831246 access scalatest test name from inside test听起来和我需要的一模一样 除了一件
  • 轻量级 C++ Gui 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 Windows 上使用 C 创建 GUI 应用程序 我已经下载了Qt 它运行得很好 但是它里面有
  • 是否可以将 TextMate 主题导入 IntelliJ IDEA?

    有什么方法可以自动将 TextMate 主题导入 IntelliJ IDEA 例如这两种格式之间的转换器 Please 检查转换器 https github com JetBrains colorSchemeTool由 JetBrains
  • 为什么/何时应该使用 static 声明变量?

    我没有 C C 背景 在使用其他语言之后 我刚刚开始学习 Objective C 在什么情况下我应该使用变量的静态声明而不是常规的 ivars 或属性 这样做我能得到什么 thanks 全局变量和函数 默认情况下 导出所有符号 全局变量和函
  • React-Native 通过代理获取

    我如何设置选项fetchReact Native 的方法通过代理调用网络服务器 目前我正在使用axios https github com mzabriskie axios但这行不通 在获取中添加主机标头后 我可以通过 charles pr
  • 龙卷风发送有关事件的消息

    我用 Python 创建一个程序 以未知的时间间隔读取数据流 该程序还通过 websocket 发送此数据 该程序是服务器 它将接收到的数据发送给客户端 这是现在服务器的代码 class WebSocketHandler tornado w
  • 如何实现“真正的”异步

    在他的回答中这个问题 https stackoverflow com questions 27790468 is it possible to await an io operation that is not declared as as
  • 出于 CSS 目的将电视检测为客户端浏览器的所有可能方法

    我有遵循响应式网页设计技术的网络应用程序 我想提供不同 更大 的字体大小TV和不同的 较小的 screen即使两者具有相同的分辨率 为什么 因为当用户使用 32 英寸显示器作为屏幕时 他可能比将其用作电视的用户坐得更近 代码 body fo
  • 未实现的功能:WINDOW/ORDER BY

    我正在使用嵌入式 Apache Derby 数据库并执行以下查询 SELECT someUniqueValue row number over ORDER BY someUniqueValue as ROWID FROM myTable s
  • Java 中异常的 throws 关键字

    当你这样做时 public class Blah public void doBlah throws BlahException 添加什么是throws BlahException真的吗 它基本上是否将任何例外归为一类 即如果有异常 无论是
  • Django admin 可以通过 related_name 处理一对多关系吗?

    Django 管理员很乐意通过 HTML 表单字段支持多对一和多对多关系 允许分别选择一个或多个选项 甚至还有一个不错的 Javascriptfilter horizontal小部件来提供帮助 我试图通过 related name 从一对多
  • “非对称”成对距离矩阵

    假设要比较三个序列 a b c 传统上 生成的 3 3 成对距离矩阵为对称的 表示a到b的距离等于b到a的距离 我想知道 TraMineR 是否提供了某种方法来生成不对称的成对距离矩阵 不 TraMineR 不会产生 不对称 的差异 这正是
  • 用于 boost::uuid 转换的字符串

    我刚刚开始在 C 中使用 boost 我只是想问几个与 uuid 相关的问题 我正在加载一个文件 该文件需要我知道 uuid 以便我可以将一些对象链接在一起 因此 我正在尝试编写自己的 uuid 但我不确定字符串等是否有任何特殊条件 因为我
  • 服务器遇到内部错误或配置错误,无法完成您的请求[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 The server encountered an internal error or misconfiguration and was unable
  • 模块之间共享的 ZF2 型号

    我刚刚开始为一个新项目设置一个新的 ZF2 应用程序 基于 ZF2 骨架 并且正在查看他们的教程Models http framework zend com manual 2 1 en user guide database and mod
  • 如何让 Perl 调试器不停止在“子例程调用深度 100 级”

    我正在使用一个又大 又旧 又乱 又臃肿的框架 它通常会深入 100 级以上的子例程调用 Perl 调试器认为适合停止并告诉我这个事实 一遍又一遍 Package Stash name usr local perl 5 10 1 lib si
  • 即使在公共页面登录也是匿名令牌

    我在设置安全性时遇到一些问题 我希望匿名成员和登录成员都可以访问该页面 我希望它根据情况显示不同的内容 事实上 我想在继续时仍然以会员身份登录 我想要公开访问的页面是 profile 我这样设置 security yml jms secur
  • 带有访客组件的父子组件树

    在 Angular 2 中 我有一个组件层次结构 然而 在树中 我需要显示另一个与对象层次结构分离的元素 它将是一个旋转器组件 不知怎的 它不想出现
  • 如何找到最大的轮廓?

    我写了一个脚本python它利用了max 方法 我试图在 C 中重新创建一个类似的程序 但我无法获取掩模中最大轮廓的值 我尝试过使用最大元素 C 中的算法库中的函数但无济于事 我还尝试取消引用迭代器 但收到一系列错误 这是我的代码 if c
  • SwiftUI 矩形中的对角线 LinearGradient

    问题 我正在尝试在 SwiftUI 中渲染矩形形状的对角线性渐变 我实现了一个标准的多站线性渐变 当渲染为正方形时它工作得很好 但是当我将框架更改为矩形时 它有一些奇怪的行为 并且看起来更水平 或者有一些奇怪的剪裁 Code struct