栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使SwiftUI列表自动滚动?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使SwiftUI列表自动滚动?

更新:在iOS 14中,现在有一种本机方式可以执行此操作。我正在这样做

        ScrollView(.vertical) { ScrollViewReader { scrollView in     LazyVStack {         ForEach(notes, id: .self) { note in  MessageView(note: note)         }     }     .onAppear {         scrollView.scrollTo(notes[notes.endIndex - 1])     } }        }

对于iOS 13及以下版本,您可以尝试:

我发现翻转视图对我来说似乎很好。这将在底部启动ScrollView,并在向其添加新数据时自动向下滚动视图。

  1. 旋转最外面的视图180
    .rotationEffect(.radians(.pi))
  2. 在垂直平面上翻转
    .scaleEffect(x: -1, y: 1, anchor: .center)

您还必须对内部视图执行此操作,因为现在它们都将旋转和翻转。要翻转它们,请执行上述相同操作。

如果需要这么多地方,可能值得为此定制视图。

您可以尝试以下操作:

List(chatController.messages, id: .self) { message in    MessageView(message.text, message.isMe)        .rotationEffect(.radians(.pi))        .scaleEffect(x: -1, y: 1, anchor: .center)}.rotationEffect(.radians(.pi)).scaleEffect(x: -1, y: 1, anchor: .center)

这是一个将其翻转的View扩展

extension View {    public func flip() -> some View {        return self .rotationEffect(.radians(.pi)) .scaleEffect(x: -1, y: 1, anchor: .center)    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668802.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号