gpt4 book ai didi

ios - 如何在 SwiftUI 中使列表反转

转载 作者:行者123 更新时间:2023-12-01 16:05:17 24 4
gpt4 key购买 nike

我是 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覆盖方法来完成这项工作。

似乎 SwiftUI 还太年轻,无法深入。

另一个问题:他们有 API 可以以编程方式在列表中滚动吗?

希望我没有重复任何问题。

将其用于匿名聊天应用程序https://en.lonje.com/

最佳答案

UITableView 上有一个技巧,可以翻转表格和每个单元格。所以它看起来是从底部填充的。您也可以在 SwiftUI 中执行此技巧:

完全工作的演示:

struct ContentView: View {
@State private var ids = [String]()

init() {
UITableView.appearance().tableFooterView = UIView()
UITableView.appearance().separatorStyle = .none
}

var body: some View {
ZStack {
List(ids, id: \.self) { id in
Text(id).scaleEffect(x: 1, y: -1, anchor: .center)
}.scaleEffect(x: 1, y: -1, anchor: .center)

Button("Touch") {
self.ids.append(UUID().uuidString)
}
}
}
}

关于ios - 如何在 SwiftUI 中使列表反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58510507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com