【发布时间】:2020-02-18 23:19:54
【问题描述】:
我是 SwiftUI 的新手,正在尝试在 Android LinearLayoutManager 中制作类似 reverse 的东西
messagesRecyclerView = view.findViewById(R.id.messagesRecyclerView);
manager = new LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, true); // => true means reverse layout
messagesRecyclerView.setLayoutManager(manager);
在这种情况下,一切都是从下到上的。
我能找到的所有有用的东西都是tableview 反向:
Load tableview from bottom, scroll up (reverse tableview) (iOS)
//In ViewDidLoad
conversationTableView.transform = CGAffineTransform(rotationAngle: -(CGFloat)(Double.pi));
//In cellForRowAtIndexPath
cell.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi));
但我不知道如何将其添加到 List 中(似乎它只是 TableView 的包装)。
这里的另一种方法:How to populate UITableView from the bottom upwards?
List {
ForEach(itemsData.messages) { item in
ChatRow(item: item)
}
Text("Load more messages...")
.onAppear() {
print("Load more messages...")
self.itemsData.next()
}
}
我的假设是获得一些.onAppear 或override 方法来完成这项工作。
似乎 SwiftUI 还太年轻,无法深入。
另一个问题:他们有 API 以编程方式在 List 中滚动?
希望我没有重复任何问题。
将其用于匿名聊天应用https://en.lonje.com/
【问题讨论】:
-
itemsData.messages.reversed()呢? -
@Jorge 这是我开始的地方,但是: * 它没有对齐 * 更新时总是跳到顶部 * 总是在任何
messages更改时重置位置 -
发现这篇很棒的文章,正是我所要求的。 stackoverflow.com/questions/57258846/…
标签: ios swift swiftui swiftui-list