zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Ajax 传递json字符串到客户端时报 Internal server error
    Java 判断字符串的存储长度
    5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
    databales详解(一)
    JQuery总结
    《JavaScript 高级程序设计》总结
    ASP.NET MVC中controller和view相互传值的方式
    Jquery tmpl详解
    @section script{}的使用
    messager(消息窗口)
  • 原文地址:https://www.cnblogs.com/liuxiaokun/p/12676807.html
Copyright © 2011-2022 走看看