Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
152 views
in Technique[技术] by (71.8m points)

swiftUI 中 frame 调用多次就会生成多层视图么

Color.white
    .frame(width: 38, height: 6)
    .cornerRadius(3)

    .frame(width: 130, height: 5, alignment: .leading)
    .background(Color(#colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)).opacity(0.08))
    .cornerRadius(3)
    .padding()

    .frame(width: 150, height: 24)
    .background(Color.black.opacity(0.1))
    .cornerRadius(12)

frame 调用了3次并且每次设置了对应的属性,然后生成如下的效果

image.png

是不是意味着每次调用frame就会生成一层视图,还是说swiftUI有其他的原理?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

39

frame()是一个modifier,modifier在SwiftUI中并不是真的修改了view。大多数情况下,当我们对某个view应用一个modifier的时候,实际上会创建一个新的view


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...