美文网首页
SwiftUI-修饰符的顺序

SwiftUI-修饰符的顺序

作者: rayChow | 来源:发表于2021-07-16 16:39 被阅读0次

1.修饰符的顺序

每当我们将修饰符应用于 SwiftUI 视图时,我们实际上会创建一个应用该修饰的新视图,不只是修改现有视图。
修饰符对你所需要设置的UI样式效果至关重要:
当想创建一个红色背景的按钮时,第一想法的实现是什么呢?

Button("Hello World") {
    // 点击事件
}    
.background(Color.red)
.frame(width: 200, height: 200)

但是实际上是创建了一个200x200的白色按钮,文字的背景颜色是红色,效果未能达到预期。

截屏2021-07-16 下午4.31.33.png

如果考虑到修饰符的工作方式,我们就可以理解这里发生的事情:每个修饰符都会创建一个应用该修饰符的新结构,而不仅仅是在视图上设置属性,这意味着修饰符的顺序很重要
那此时我们再思考一下要创建的目标控件,一个200x200的红色背景按钮,首先,要添加的修饰符就是设置它的frame,在确定了它的frame之后,才是background修饰

Button("Hello World") {
    // 点击事件
}    
.background(Color.red)
.frame(width: 200, height: 200)
截屏2021-07-16 下午4.31.03.png

2.修饰符可以多次叠加使用

例如,使用padding修饰符修饰时,会在控件外部增加一点空间,设置背景色时,会同样把该空间渲染,此时,在设置背景色后,继续padding,控件外部会继续增加空间

Text("Hello World")
            .padding()
            .background(Color.red)

Text("Hello World")
            .padding()
            .background(Color.red)
            .padding()
截屏2021-07-16 下午4.38.52.png
截屏2021-07-16 下午4.39.30.png

相关文章

  • SwiftUI-修饰符的顺序

    1.修饰符的顺序 每当我们将修饰符应用于 SwiftUI 视图时,我们实际上会创建一个应用该修饰的新视图,不只是修...

  • Java语言规范建议中修饰符列出顺序

    开发中多个修饰符,不论顺序都可以执行。但是Java本身也有建议修饰符列出顺序,如下: Annotations pu...

  • Vue修饰符汇总

    事件修饰符 1、使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.preve...

  • SwiftUI-自定义修饰符

    SwiftUI为我们提供了内置的修饰符,如一系列的font(),background()和clipShape()。...

  • vue-事件修饰符

    使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.prevent.self ...

  • 奇特的声明

    c允许同时使用多于1个的修饰符,这就使得可以创建如下各种各样的类型 弄清楚这些声明的诀窍便于理解使用修饰符的顺序。...

  • DAY11Java语言入门基础教学5

    代码块 类里面可以有多个代码块,执行顺序和出现的先后顺序相同,尽量不要在一个类里写多个代码块 修饰符static ...

  • spring-boot AOP

    目的:记录所有请求,了解各种通知的调用顺序 注解说明 @Pointcut的用法 修饰符匹配(modifier-pa...

  • 安卓面试概要点

    Java基础 访问修饰符 √ 类加载深入理解Java类加载器ClassLoaderJava中类加载的执行顺序 泛型...

  • 谈谈 OC 属性修饰符的本质是什么!

    属性修饰符的本质 assign 修饰符 copy 修饰符 atomic 修饰符 strong 修饰符 weak 修...

网友评论

      本文标题:SwiftUI-修饰符的顺序

      本文链接:https://www.haomeiwen.com/subject/ussbpltx.html