本文介绍: 协议,修饰符(modifier)应用于视图或另一个视图修饰符,生成原值的另一个版本。虽然可以直接将修饰符应用于视图,但更常见和地道的做法是使用修饰符来定义一个。循环,分别设置初始的光标闪烁效果以及后续逐个文字和光标交替输出的效果,最后等待片刻,标记输出结束。,本例中的模型比较简单,仅定了三个变量,分别表示当前文本、标题输出是否完成以及最终的标题文本。我们在代码里就是这么做的,在视图中我们传入了5个变量,。是需要进行修改的,所以使用了。定义了光标,默认使用了常见的。中可以看到,如果。
本文我们要在visionOS内实现一个标题输出的动画效果。主要讲ViewModifier
协议,修饰符(modifier)应用于视图或另一个视图修饰符,生成原值的另一个版本。在希望创建一个可应用于不同视图的修饰符时可实现ViewModifier协议。
首先定义ViewModel
,本例中的模型比较简单,仅定了三个变量,分别表示当前文本、标题输出是否完成以及最终的标题文本。
因模型中有默认值且需要在程序运行的过程中进行修改,所以在入口文件中需要将模型注入到环境中:
接下来就是本文的重点了,我们需要自定义一个文本修饰符。虽然可以直接将修饰符应用于视图,但更常见和地道的做法是使用修饰符来定义一个View
来包装这个视图修饰符。我们在代码里就是这么做的,在视图中我们传入了5个变量,text
和isFinished
是需要进行修改的,所以使用了Binding
,cursor
定义了光标,默认使用了常见的|
,isAnimated
表示是否显示动画。
在TypeTextModifier
中可以看到,如果isAnimated
为false
,就直接显示最终文本。而在任务中有两个for
循环,分别设置初始的光标闪烁效果以及后续逐个文字和光标交替输出的效果,最后等待片刻,标记输出结束。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。