将内容添加到ListView时,我希望它自动向下滚动。
我正在使用SwiftUI List
和a BindableObject
作为控制器。新数据将追加到列表中。
List(chatController.messages, id: \.self) { message in
MessageView(message.text, message.isMe)
}
当我将新数据追加到消息列表时,我希望列表向下滚动。但是,我必须手动向下滚动。
更新:在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,并在向其添加新数据时自动向下滚动视图。
.rotationEffect(.radians(.pi))
.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)
}
}
问题内容: 我可以做一个静态列表 但是,如何从数组中动态生成元素列表?我尝试了以下操作,但出现错误: 包含控制流语句的闭包不能与函数生成器“ ViewBuilder”一起使用 有什么解决办法吗?我要完成的工作是一个列表,其中包含不是静态输入的动态元素集。 问题答案: 看起来答案与将我的视图包装在其中有关 这样,我现在可以从服务器获取视图数据并进行组合。而且,仅在需要时才实例化它们。
我想使内联导航栏透明,使其与视图背景相匹配,但仅在滚动之前。一旦你滚动,我想使用默认的导航背景颜色,就像大导航栏一样,但与内联。 以下是苹果提醒应用程序(iOS14)中的一个示例: 我试过使用这个init,但它也会在滚动时改变导航栏的背景。
DataV-React轮播表鼠标移入是暂停滚动,好像没法改成添加滚动条
我使用ng2图表来显示大约500到1000个数据。问题是我需要修复图表的with,有什么方法可以让ng-2图表滚动吗? 我尝试将图表包装在父div中,并将宽度设置为100%和overflow-x:滚动到chart div,但它不起作用
问题内容: 我想运行自己的内部pypi服务器,以便在组织内分发鸡蛋。 我发现了一些项目,例如: http://pypi.python.org/pypi/EggBasket/ http://plone.org/products/plonesoftwarecenter 据我了解,pypi.python.org使用名为Cheese Shop的软件。 我的问题: 为什么我不能使用奶酪店本身?(我找不到它,
我一直在研究一个思想,在这个思想中,它保持自动滚动,而不需要用户交互,这一点在使用android API(例如,SmoothScrollTopositionFromTop)时是绝对可行的。 我需要提高流畅度,效率和控制速度