• SwiftUI Form


    • Form: 会让一些控件有一些特殊的外观变化,更好的是,SwiftUI的几个部分自动适应放置在表单中 - 它们的外观和行为发生变化,因此它们与其他输入控件组一起工作得更好。 Form 组件使用分组 List 来表示 cell 中的子控件。通过将布局包裹在 Form 中,SwiftUI 能够改变每个元素的可视化外观。你可以用 VStack 替换 Form,来看看二者有何不同。Picker 的外观也不一样。它用另外一个列表窗口来显示内容。我们无需做任何事情,一切都被封装得好好的。这就是声明式编程的真正威力。每个组件的外观都会有不同的适配方式,我们可以用其它容器来包裹它们,就可以轻易地改变它们的外观。

    Form 组件将一个复杂的表单布局分成多个 section 并使用不同的数据源。

    var body: some View {
        Form {
            Text("Hello World")
        }
    }

    当文本控件被Form包裹之后,起初“Hello World”是居中展示在一个白色的背景上,当你用Form将它包起来之后,背景变成了浅灰色,并且Hello World跑到左上角。

    • 可以用Group来分组这些元素,让每个分组的子元素数量小于等于10个。,Group实际上并没有改变UI的视觉,只是让你可以解决10个子元素的限制。

    • alignmentGuide 可以自定义修改系统默认的一些属性值 lastTextBaseline 默认是 View 的最底部,所以我们才能达到我们想要的对齐效果,想要把图片往下移一点点,想要的效果如下

    HStack(alignment: .lastTextBaseline) {
        Text("Delicious")
            .font(.caption)
        Image("20x20_avocado")
            .alignmentGuide(.lastTextBaseline) { d in
                d[.bottom] * 0.927
        }
        Text("Avocado Toast")
    }
    .lineLimit(1)
  • 相关阅读:
    Android之Margin和Padding属性及支持的长度单位
    java jvm eclipse 性能调优
    spring aop 内部方法调用事务不生效问题解决
    服务器 获取用户 真实ip
    Nginx gzip配置
    全局唯一的支付和订单id生成算法
    spring aop 方法增加日志记录
    linux cp复制文件 直接覆盖
    Twitter分布式自增ID算法snowflake原理解析
    nginx 命令
  • 原文地址:https://www.cnblogs.com/liuxiaokun/p/12676807.html
Copyright © 2020-2023  润新知