View 基础组件(SwiftUI中文文档手册)
View
一种类型,代表应用程序用户界面的一部分,并提供用于配置视图的修饰符。
protocol View
总览
您可以通过声明符合View协议的类型来创建自定义视图。实现所需的body计算属性,以提供自定义视图的内容。
struct MyView: View {
var body: some View {
Text("Hello, World!")
}
}
通过将SwiftUI提供的一个或多个原始视图(例如上Text例中的实例)以及您定义的其他自定义视图组合到视图的层次结构中,以组装视图的主体。
该View协议提供了一个大组修饰符的,定义为协议中的方法默认实现,您使用定位和配置的观点在您的应用程序的布局。修饰符通常通过将您调用它们的视图实例包装在具有指定特征的另一个视图中来工作。例如,将opacity(_:)修改器添加到文本视图会返回具有一定透明度的新视图:
Text("Hello, World!")
.opacity(0.5) // Display partially transparent text.
修饰符的效果通常会传播到任何未显式覆盖修饰符的子视图。例如,一个VStack实例本身仅起到垂直堆叠其他视图的作用,并且没有要显示的文本。因此,font(_:)您应用于堆栈的修饰符对堆栈本身没有影响。但是font修饰符确实适用于堆栈的任何子视图,其中一些可能显示文本。另一方面,可以通过在特定的子视图中添加另一个来局部覆盖堆栈的修饰符:
VStack {
Text("Title")
.font(.headline) // Override the font of this one view.
Text("First body line.")
Text("Second body line.")
}
.font(.body) // Set a default for text in the stack.
您通常会链接修饰符,每个修饰符都会包裹上一个修饰符的结果。例如,您可以使用修饰符将文本视图包装在具有给定宽度的不可见框中,以影响其布局,然后使用修饰符在其周围绘制轮廓:frame(width:height:alignment:)border(_:width:)
Text("Title")
.frame(width: 100)
.border(Color.gray)
应用修饰符的顺序很重要。例如,上述代码产生的边框勾勒出框架的整个宽度。
文本视图的屏幕快照,显示字符串“ Title”,由
如果改为先应用边框,则边框会勾勒出文本视图的轮廓,该视图永远不会占用比呈现其内容所需的更多空间。
Text("Title")
.border(Color.gray) // Apply the border first this time.
.frame(width: 100)
用固定的100点宽度将该视图包装到另一个不可见的视图中会影响复合视图的布局,但对边框没有影响。
主题
实施自定义视图
1、var body: Self.Body
视图的内容和行为。
需要。 提供了默认实现。
2、associatedtype Body : View
表示此视图主体的视图类型。
需要。
3、struct ViewBuilder
一个自定义参数属性,用于从闭包构造视图。
配置视图
4、布局
告诉视图如何通过调整其大小,位置,对齐方式,填充等在视图层次结构中进行排列。
5、辅助功能
使您的视图可供包括残疾人在内的广泛用户使用。
6、渲染图
影响系统绘制视图的方式,例如通过缩放或遮罩视图或应用图形效果。
7、造型
指示如何设置视图中包含的文本,控件和其他内容的样式。
提供互动
8、输入和事件
提供视图操作以响应用户输入和系统事件而执行。
9、View Presentation
定义视图以在指定条件下显示的其他视图。
10、State
访问视图首选项,并为子视图提供配置数据。
在Xcode中配置预览
11、func previewDevice(PreviewDevice?) -> some View
覆盖设备以进行预览。
12、func previewDisplayName(String?) -> some View
提供在编辑器中显示的用户可见名称。
13、func previewLayout(PreviewLayout) -> some View
覆盖预览容器的大小。
14、func previewContext© -> some View
声明预览的上下文。
贝塔
识别视图
15、func id(ID) -> some View
将视图的身份绑定到给定的代理值。
16、func equatable() -> EquatableView
当新值与旧值相同时,阻止视图更新其子视图。
Self符合时可用Equatable。
实施视图修改器
17、func modifier(T) -> ModifiedContent<Self, T>
将修改器应用于视图。
18、struct ModifiedContent
带有修饰符的值。
Content符合View和Modifier符合时可用。ViewModifier
19、struct EmptyModifier
空或标识修饰符。
20、 ViewModifier
您应用于视图的修改器或另一个视图修改器,产生原始值的不同版本。
相关文章
- [python] 使用Jieba工具中文分词及文本聚类概念
- iOS开发之网络数据解析--中文输出
- 正则表达式 匹配中文
- php:正则匹配中文
- 读cookie中文字符乱码问题
- FlashChart json数据配置 中文文档
- MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档[原创]
- jQuery EasyUI API 中文文档 - Panel面板
- Android官方中文文档
- Android2.2 API 中文文档系列(9) —— ZoomButton
- Android中文API(130) —— Html
- [译] superagent中文使用文档
- 如何找到msdn中文文档呢?
- [PHP] json_encode增加options参数后支持中文
- 1017 A除以B (20 分)—PAT (Basic Level) Practice (中文)
- 成功解决连接SQL输出出现中文乱码问题(10001, 'oracle¿ìËÙÈëÃÅ', 'Íõº£ÁÁ', 'Ë®Àû³ö°æÉç',
- 批量将中文单个字音频转为图像(二维矩阵)
- Hadoop-2.2.0中文文档—— Common - 超级用户模拟别的用户
- Qt项目在中文路径下编译是无反应的
- Python编程:使用textrank4zh、jieba、snownlp提取中文文章关键字和摘要
- Raphaël 中文帮助文档(API)
- [转]python进行中文文本聚类(切词以及Kmeans聚类)
- HTMLTestRunner生成报告中有中文乱码解决方案
- robotframework日志输出中文乱码以及robotframework常用关键字-笔者亲测 | 必读
- Arch Linux中文乱码解决
- vim、gvim 在 windows 下中文乱码的终极解决方案
- loadRunner之中文语言包安装
- Zabbix之中文语言安装及配置