相关疑难解决方法(0)

如何从底部向上填充UITableView?

是否可以颠倒tableView的顺序.我已经搜索了很多解决方案,但所有结果都不是我想要实现的解决方案.他们都建议滚动到表的最后一个位置scrollToRowAtIndexPath并反向填充数据.但是,如果表内容是动态的,并且在某些情况下并非所有单元都有数据,则这不起作用.例如,在普通的tableView中,顺序是:


标签1

标签2

标签3

空

空

滚动方向
v
V.


期望的结果是:
滚动方向
^
^

空

空

空

标签3

标签2

标签1


在这个例子中,如果我使用建议的方法scrollToRowAtIndexPath并使用对象数组的长度,我只会从顶部获得第三个单元格.并最终得到这样的东西:


意外结果:

标签3

标签2

标签1

空

空

滚动方向
v
V.


任何帮助都会非常感谢你.

iphone objective-c uitableview ios ios8

29
推荐指数
3
解决办法
2万
查看次数

如何使SwiftUI列表自动滚动?

将内容添加到ListView时,我希望它自动向下滚动。

我正在使用SwiftUI“列表”和“ BindableObject”作为控制器。新数据将追加到列表中。

List(chatController.messages, id: \.self) { message in
    MessageView(message.text, message.isMe)
}
Run Code Online (Sandbox Code Playgroud)

我希望列表向下滚动,因为我将新数据追加到消息列表中。但是,我必须手动向下滚动。

listview autoscroll swift swiftui

22
推荐指数
5
解决办法
1497
查看次数

从底部加载tableview,向上滚动(反向tableview)(iOS)

我想向后加载我的tableview,这意味着tableView从底部加载并向上滚动以查看更多内容.

首先,我尝试反转dataSource数组.内容相反,但仍然从顶部加载,用户必须向下滚动才能看到更多内容.

然后我尝试从viewWillAppear的底部加载tableView:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    if (self.conversationTableView.contentSize.height > self.conversationTableView.frame.size.height) {
        let offset = CGPoint(x: CGFloat(0), y: CGFloat(self.conversationTableView.contentSize.height - self.conversationTableView.frame.size.height))
        self.conversationTableView.setContentOffset(offset, animated: true)
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这种尝试不起作用,因为我异步下载图像(我正在使用NSTextAttachment,它在每个单元格中填充我的UITextView).每当我的占位符被替换为真实下载的图像时,它会导致tableView内容偏移移位(占位符的图像高度几乎总是小于下载图像的高度).因此,以这种方式设置contentOffset不起作用.

如何从底部加载tableView并向上滚动以查看更多内容?

uitableview ios swift

10
推荐指数
1
解决办法
7271
查看次数

恢复列表 SwiftUI 中的底部填充

随着reverted List在 SwiftUI 中继续研究How to make List reversed in SwiftUI。

在恢复列表中获得奇怪的间距,看起来像额外的 UITableView 页眉/页脚。

struct ContentView: View {
    @State private var ids = ["header", "test2"]
    @State private var text = "text"

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

    var body: some View {
        ZStack (alignment: .bottomTrailing) {
            VStack {
                List {
                    ForEach(ids, id: \.self) { id in
                        Group {
                        if (id == "header") {
                            VStack {
                                Text("Test")
                                    .font(.largeTitle)
                                    .fontWeight(.heavy)
                                Text("header")
                                    .foregroundColor(.gray)
                            }
                            .scaleEffect(x: 1, y: …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift swiftui

3
推荐指数
1
解决办法
2315
查看次数

标签 统计

ios ×3

swift ×3

iphone ×2

swiftui ×2

uitableview ×2

autoscroll ×1

ios8 ×1

listview ×1

objective-c ×1