在左侧显示多行值并破坏堆栈右侧对齐时的 SwiftUI 错误

2023-12-02

当文本输入是多行时,我面临对齐问题。在此示例中,第一部分显示图像中正确显示的左侧和右侧文本。第二部分,它显示 3 到 4 行的文本,这会干扰右侧的对齐

我想让左边在多行中独立调整大小。右侧保持原样(之间没有间隙)2nd title and 2nd Value ).

我的观点代码:

struct ContentView: View {
    var body: some View {
        
        Form {

            Section {
                Text("single line")
            }
            
            TwoLineView(firstTitle: "1st Title", fistValue: "Value",
                           secondTitle: "2nd Title", secondValue: "2nd Value")
            
            TwoLineView(firstTitle: "1st Title", fistValue: "test",
                           secondTitle: "2nd Title", secondValue: "2nd Value")
            
            Section {
                Text("mutiple lines")
            }
            
            TwoLineView(firstTitle: "1st Title", fistValue: "This is long. This is long value. This is long value",
                           secondTitle: "2nd Title", secondValue: "2nd Value")
            
            TwoLineView(firstTitle: "1st Title", fistValue: "test",
                           secondTitle: "2nd Title", secondValue: "2nd Value")
        }
        
    }
    
    
    
    
    struct ContentView_Previews: PreviewProvider {
        static var previews: some View {
            ContentView()
        }
    }
}


struct TwoLineView: View{
    var firstTitle: String
    var fistValue: String
    var secondTitle: String
    var secondValue: String
        
    var body: some View {
        HStack(alignment: VerticalAlignment.center, spacing: 0) {
            VStack(alignment: HorizontalAlignment.leading, spacing: 0) {
                Text(firstTitle).lineLimit(1)
                    .font(.system(size: 30, weight: .heavy, design: .default))
                
                Text(fistValue)
                    .frame(maxHeight: .infinity)
            }
            Spacer()
            VStack(alignment: HorizontalAlignment.leading, spacing: 0) {
                Text(secondTitle).lineLimit(1)
                    .font(.system(size: 30, weight: .heavy, design: .default))
                
                Text(secondValue).lineLimit(1)
                
                Spacer()
                
            }
            Spacer(minLength: 45)
        }
    }
}

预期的: 单行或多行值。我不想在标题和值之间显示差距。 (图像中的第二部分之间有一个间隙2nd title and 2nd Value这是糟糕的用户体验)


只需删除frame并添加spacer in VStack.

         HStack(alignment: VerticalAlignment.center, spacing: 0) {
                    VStack(alignment: HorizontalAlignment.leading, spacing: 0) {
                        Text("1st Title ").lineLimit(1)
                            .font(.system(size: 30, weight: .heavy, design: .default))
                        
                        Text("This is long value. This is long value. This is long value")
                        
                            .frame(maxHeight: .infinity)
                    }
                    Spacer()
                    VStack(alignment: HorizontalAlignment.leading, spacing: 0) {
                        Text("2nd title").lineLimit(1)
                            .font(.system(size: 30, weight: .heavy, design: .default))
                        
                        Text("2nd Value").lineLimit(1)
                        Spacer() //here
                    //.frame(maxHeight: .infinity)
                    }
                    Spacer(minLength: 45)
                }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在左侧显示多行值并破坏堆栈右侧对齐时的 SwiftUI 错误 的相关文章

随机推荐

  • 如何使用 WSO2 ESB 从数据库检索多行?

    我想使用 wso2 esb 检索数据库中的多行 使用 dblookup 中介器我只能检索一行 建议使用 WSO2 DSS 你能帮我使用 DSS 完全检索 ESB 中的多行吗 Thanks 如果您不想使用 DSS 这就是我们的情况 那么您可以
  • React js组件,map可以工作,foreach不行

    我有一个呈现标签的组件 它循环遍历地图并显示数据 我尝试使用 forEach 但它不起作用 但是 如果我将映射转换为数组 它就可以工作 foreach 也不适用于数组 我在这里缺少什么 这有效 render return div class
  • 重命名模型和关系字段的 Django 迁移策略

    我计划重命名现有 Django 项目中的多个模型 其中有许多其他模型与我要重命名的模型具有外键关系 我相当确定这将需要多次迁移 但我不确定确切的过程 假设我从 Django 应用程序中的以下模型开始 名为myapp class Foo mo
  • Zoom:1;有什么bug在 CSS 中修复?

    我见过人们应用 CSS 属性zoom 1 在 HTML 元素上 他们为什么这样做 它修复了什么错误 这提供了一个称为hasLayout在 Internet Explorer 版本 7 及更低版本中 关于这个主题的权威文章在这里 http w
  • 在 iPhone 应用程序启动期间(即应用程序加载期间)播放电影文件

    我想播放电影文件或任何动画文件 直到时间应用程序未完全加载 有什么简单的方法可以做到吗 告诉别人他们想做什么是值得怀疑的 我的客户想要播放一部电影 而这只是一部 3 秒的电影 这就是所谓的品牌推广 如果他的用户不喜欢它 他们会告诉他
  • QT QImage - 将图像的一部分复制为多边形

    尝试将图像的一部分复制为多边形 特别是五边形 但我更感兴趣的是如何复制为除矩形之外的任何内容 以下代码仅允许复制为矩形 QImage copy const QRect rect QRect const inline QImage copy
  • AWS Fargate - 不使用 SES 端点从私有子网发送电子邮件

    我有一个带有自动缩放 Fargate 容器的配置 在公共子网配置或 NAT 配置中使用 SES 简单电子邮件服务时 电子邮件可以正确发送 当容器移动到具有 SES 端点接口的私有子网时 不再发送电子邮件 以下两个带有连接超时消息的选项 对于
  • 如何制作一组列表

    我有一个这样的列表 i 1 2 3 2 4 5 1 2 3 2 4 5 我想获得一个包含 唯一 列表 基于其元素 的列表 例如 o 1 2 3 2 4 5 我无法使用set 因为列表中有不可散列的元素 相反 我正在这样做 o for e i
  • 从 jBPM 流程访问数据库

    如何从 jBPM 流程访问数据库 您认为我可以使用脚本任务或人工任务的进入 退出操作连接到数据库吗 我建议不要使用人工任务的进入 退出操作来存储代码 弄清楚您将代码放在哪里可能是一场噩梦 因为当人工任务有代码时没有视觉线索 您可以尝试脚本任
  • Grails 限制表创建

    我想使用 Grails 功能在有限的基础上创建 更新数据库表 具体来说 我希望 Grails 管理一些表 但不是全部 有没有办法限制 Grails 管理的表 或者这是一个全有或全无的提议 一般来说 要么全有 要么全无 因为 Grails 使
  • 缓慢的 Skscene 过渡

    我有两个场景 家庭和玩耍 与到家庭场景的转换相比 到游戏场景的转换确实很慢 我想这是因为我的游戏场景中有更多的事情发生 有什么方法可以预加载播放场景吗 或者让过渡更加无缝 我对这个论坛的答案感兴趣预加载场景以防止延迟 但我不知道从哪里开始
  • 在控制器中为每个 RequestMapping 不同地配置 FAIL_ON_UNKNOWN_PROPERTIES

    我想在不同的设备上以不同的方式处理 json 到对象的转换 RequestMapping在我的控制器中 我相信 如果我们在 spring boot 项目中添加 Jackson 依赖项 它会处理 json 到对象的转换 spring jack
  • 如何使用 jaro-winkler 查找表中最接近的值?

    我的数据库中有一个 jaro winkler 算法的实现 这个函数不是我写的 该函数比较两个值并给出匹配的概率 所以 jaro string1 string2 matchnoofchars 将返回结果 我不想比较两个字符串 而是想发送一个带
  • Jenkins 插件的 Spring-core 依赖版本错误

    我正在尝试制作一个使用的 Jenkins 插件需要 spring core 3 2 2 的库 cloudfoundry client lib 我只是使用 mvn 命令创建一个框架插件 然后将 Maven 依赖项添加到 pom xml 以及一
  • 将 numpy 开放网格转换为坐标

    我想将 numpy ix 例程返回的开放网格转换为坐标列表 eg for In 1 m np ix 0 2 4 1 3 In 2 m Out 2 array 0 2 4 array 1 3 我想要的是 0 1 0 3 2 1 2 3 4 1
  • 使用 Maven Surefire 运行依赖项 jar 中包含的 JUnit 测试

    我的 Maven 存储库中有一个 jar 其中包含 junit 测试 它应该在不同的项目中运行 因为它能够检查项目并测试其某些功能 不幸的是 surefire 不会拾取罐子中包含的测试 因为这功能请求显示 在功能请求中 他们建议解压 jar
  • ENTITY 声明可以嵌套在引用的 XML 文件中吗?

    我正在处理一个相当大的 DocBook XML 文档 主书有章节 但通过使用实体引用包括所有小节 像这样的事情 main book xml
  • 如何在C#中使用&运算符?代码的翻译是否正确?

    C 中的 if arg2 1 行 arg2 是 DWORD 等于 C 中的 if arg2 1 0 arg2 是 Uint32 对吗 我正在尝试将函数从 C 转换为 C 但出现错误 Operator cannot be applied to
  • 尝试使用 Spring Data JPA 运行存储过程时出现“类型不能为 null”异常

    我正在尝试调用一个存储过程 其签名如下所示 CREATE OR REPLACE PROCEDURE FIND FIRST BOOKMARK GT bookmark IN NUMBER cur OUT SYS REFCURSOR 我正在使用
  • 在左侧显示多行值并破坏堆栈右侧对齐时的 SwiftUI 错误

    当文本输入是多行时 我面临对齐问题 在此示例中 第一部分显示图像中正确显示的左侧和右侧文本 第二部分 它显示 3 到 4 行的文本 这会干扰右侧的对齐 我想让左边在多行中独立调整大小 右侧保持原样 之间没有间隙 2nd title and