您的位置 首页 > 腾讯云社区

SwiftUI:将视图作为属性---韦弦zhy

有很多方法可以简化在SwiftUI中使用复杂的视图层次结构,一种选择是使用属性——将视图创建为您自己的视图的属性,然后在布局中使用该属性。

例如,我们可以创建两个像这样的文本视图作为属性,然后在VStack中使用它们:

struct ContentView: View { let motto1 = Text("Draco dormiens") let motto2 = Text("nunquam titillandus") var body: some View { VStack { motto1 motto2 } } }

您甚至可以在使用这些属性时直接将修饰符应用于这些属性,如下所示:

VStack { motto1 .foregroundColor(.red) motto2 .foregroundColor(.blue) }

将视图创建为属性可以帮助您使body代码更清晰——不仅有助于避免重复,而且还可以使用body属性之外的复杂代码。

Swift不允许我们创建一个引用其他存储属性的存储属性,因为在创建对象时会引起问题。这意味着尝试创建绑定到本地属性的TextField将导致问题。

但是,您可以根据需要创建计算属性,如下所示:

var motto1: some View { Text("Draco dormiens") }

Previous: 环境修饰符

Hacking with iOS: SwiftUI Edition

Next: 视图拆分与组合

---来自腾讯云社区的---韦弦zhy

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: