如何在 SwiftUI 中编写分数

2023-12-23

我正在制作一个小应用程序来帮助孩子们学习数学。

但是,我不知道如何在 SwiftUI 中编写分数?

I would like something like this : 12

感谢您的帮助 :)


更新:Xcode 13.4 / iOS 15.5

现在完全动态,支持字体缩放,没有布局硬编码。

主要部分:

    ZStack {
        Text("\(numerator) ")
            .alignmentGuide(VerticalAlignment.center,
                            computeValue: { d in d[.bottom] })
            .alignmentGuide(HorizontalAlignment.center,
                            computeValue: { d in d[.trailing] })

        Text("\u{2215}").font(.system(size: scale))

        Text(" \(denominator)")
            .alignmentGuide(VerticalAlignment.center,
                            computeValue: { d in d[.top] })
            .alignmentGuide(HorizontalAlignment.center,
                            computeValue: { d in d[.leading] })
    }

测试代码在这里 https://github.com/Asperi-Demo/4SwiftUI/blob/master/PlayOn_iOS/PlayOn_iOS/Findings/TestNumericFractionByLayout.swift

Original

希望以下内容对您有所帮助。当然,您可以根据需要调整参数。

Demo:

方法代码:

import SwiftUI

struct FractionView: View {
    var numerator: String
    var denominator: String
    var body: some View {
        HStack {
            Text("\(numerator)")
                .offset(x: 4, y: 0)
                .alignmentGuide(VerticalAlignment.center,
                                computeValue: { d in d[.bottom] })
            Text("∕").font(.system(size: 32))
            Text("\(denominator)")
                .offset(x: -4, y: 0)
                .alignmentGuide(VerticalAlignment.center,
                                computeValue: { d in d[.top] })
        }
    }
}

struct TestFraction: View {
    var body: some View {
        VStack(spacing: 8) {
            FractionView(numerator: "1", denominator: "2")
            FractionView(numerator: "5", denominator: "7")
            FractionView(numerator: "11", denominator: "19")
            FractionView(numerator: "31", denominator: "9")
        }
    }
}

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

如何在 SwiftUI 中编写分数 的相关文章

随机推荐

  • 等待多个异步下载任务

    我想同时下载一些文件 例如 100 个文件 所以我决定将我的下载线程添加到调度队列中 GCD 将调整同时运行的线程数量 这里的问题是 dispatch async将立即完成 因为task将在另一个线程上运行 因此 如果urls的长度是100
  • Flex 自定义组件不接受脚本:“String”类型的默认属性“text”的多个初始值设定项值

    我正在使用 Flex 4 和 Flash Builder 4 我只是想学习创建组件 我创建了一个 mxml 组件 如下所示并将其包含在我的应用程序中
  • 如何在 VB.NET 中引发事件之前检查订阅者

    在 C 中 您可以执行以下操作 if Changed null Changed this EventArgs Empty 但是您在 VB NET 中做什么呢 有RaiseEvent but is RaiseEvent Changed Me
  • 更改按钮文本和操作 - Android 开发

    我无法弄清楚如何更改按钮的文本和操作 我想要做的是有一个带有文本 播放 的按钮 单击它会播放一首歌曲并将文本更改为 暂停 然后 当您再次单击它时 它将暂停歌曲并将文本更改为 播放 我知道如何使用媒体播放器 编码 只是不知道如何以这种方式编码
  • 线程完成工作后如何返回值?

    假设我们有一个简单的例子 public Example extends Thread String temp public Example Override public void run temp a value public stati
  • 鞍点的位置

    我有以下问题 假设我们有一个9 8的矩阵 如果矩阵位于某个位置 则称其具有 鞍点 是其行中的最小值和其列中的最大值 在符号 中 a i j 是鞍点 如果 a i j min a i k max a k k 1 lt k lt 8 1 lt
  • 使用Python的正则表达式将浮点数替换为“dot”

    我想替换 出现在我的字符串中带有 点 的浮点数中 反之亦然 Example t I am coder I work in Google I earn 98748 85 Expected output I am coder I work in
  • R 中的字符编码

    我正在尝试阅读csv由 Sql Server Management Studio 生成并编码为的文件UTF 8 我保存时选择了该选项 到R版本 3 0 1 x64 至read csv2 我无法让 R 正确显示特殊字符 如果我设置fileEn
  • 从字符串中获取整数月份值

    我正在解析来自 AWS 的 cron 字符串 如下所示cron 0 7 13 November 2019 有没有一种干净的方式可以从November回到11使用 Go 的内置类型 这time Month类型允许映射int to string
  • 从亚马逊 s3 存储桶子文件夹获取文件

    我正在尝试从亚马逊 S3 存储桶子文件夹中获取所有文件 并使它们可以在网页中下载 我有一个名为图像的桶 在那个桶里我还有一些其他文件夹 现在我试图获取该子文件夹内的所有文件并将其显示在页面中 S3 桶 图片 图像 测试1 图像 测试2 图像
  • SQL 声明变量

    谁能看一下我的发言 DECLARE tblName varchar MAX strSQL varchar MAX SET tblName SELECT DISTINCT o name as TableName FROM sysobjects
  • 如何将 SQL Server 2005 数据传输或导出到 Excel

    我有一个简单的 SQL 选择 查询 我想将结果转储到 Excel 文件中 我只能另存为 csv 并转换为 xls 会产生一些超级丑陋的输出 无论如何 据我所知 使用谷歌 这似乎并不那么简单 任何帮助将不胜感激 SSIS 做这样的事情是轻而易
  • 如何更改 NsdManager 使用的 Android 设备名称?

    我正在使用 NsdManager 在本地网络上注册 Web 服务 我的问题是设备名称称为 android 因此我可以从笔记本电脑上以 android local 身份访问手机 我怎样才能改变这个名字 我想要一些更独特的东西 您无法更改此设置
  • 使用 www::mechanize 时的 Iconv::IllegalSequence

    我正在尝试做一些网络抓取 但 WWW Mechanize gem 似乎不喜欢编码并且崩溃 post 请求导致 302 重定向 机械化遵循 到目前为止一切顺利 并且生成的页面似乎使其崩溃 我用谷歌搜索了很多 但到目前为止还没有找到如何解决这个
  • 如何更改 QPlainTextEdit 中选项卡的宽度

    When using the QPlaintextEdit in PyQt5 if I press the Tab button on my keyboard I get a tab space which is equal to size
  • Django 管理员未对用户密码进行哈希处理

    我在用AbstractBaseUser and UserCreationForm与我的 Django 应用程序 通过我的应用程序注册用户时 密码以哈希格式保存并保存在数据库中 但是当我尝试使用 Django 管理站点执行相同的操作时 密码会
  • 使用多个 Docker 容器 VS 标准 Node 集群时的性能和可靠性

    使用多个 Docker 容器 VS 标准 Node 集群时的性能和可靠性 您好 我有一个关于我遇到的两种设置的性能 可靠性和增长潜力的问题 我距离 Docker 或集群专家还很远 所以任何建议或提示将不胜感激 The app Typical
  • PhoneGap Build 中 Android 的横向启动屏幕

    我应该输入什么config xml或者我一般应该做什么 才能让 PhoneGap Build 应用程序的启动屏幕在横向模式下在 Android 设备上正确显示 PhoneGap Build 用于编译 docs https build pho
  • 使用 cProfile 对其他完美工作的多处理 python 脚本进行分析时出错 [重复]

    这个问题在这里已经有答案了 我写了一个小的 python 脚本 使用multiprocessing See https stackoverflow com a 41875711 1878788 https stackoverflow com
  • 如何在 SwiftUI 中编写分数

    我正在制作一个小应用程序来帮助孩子们学习数学 但是 我不知道如何在 SwiftUI 中编写分数 I would like something like this 1 2 感谢您的帮助 更新 Xcode 13 4 iOS 15 5 现在完全动