繁体   English   中英

SwiftUI beta 7:添加项目时触发“List”滚动?

[英]SwiftUI beta 7: Trigger `List` to scroll when item added?

使用 Xcode 11 beta 7 和 Catalina beta 19A536g (6?)

在我的 SwiftUI 应用程序中,我有一个带有列表的简单视图。 在列表下方,我有一个按钮可以将项目添加到列表中。

添加一些项目后,新添加的项目不可见,因为它们超出了列表的内容大小。

var body: some View {
  NavigationView {
    VStack {
      List(self.accounts) { account in
        Text("\(account.name)")
      }

      Button("Add new account") {
        self.addNewAccount()
      }
    }.navigationBarTitle("Select account")
  }
}

我想我想要一些绑定列表的内容偏移量,传递给我的方法addNewAccount并触发列表的滚动。

我可以以某种方式以编程方式触发列表向下滚动到新内容吗?

实现它的最简单方法是使用.scaleEffect(x: 1, y: -1, anchor: .center)翻转列表及其内容.scaleEffect(x: 1, y: -1, anchor: .center)以获得倒置的结构化列表,但具有正确的内容,因此插入列表中索引 0 处的项目将在底部执行,并带有漂亮的动画

List {
   ForEach(self.content) { itemContent in
       Item(itemContent).scaleEffect(x: 1, y: -1, anchor: .center)   
   }
}.scaleEffect(x: 1, y: -1, anchor: .center)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM