gpt4 book ai didi

swift - 像 WhatsApp Chat 一样滚动,滚动到顶部,进一步滚动显示 "Archived Chats"

转载 作者:IT王子 更新时间:2023-10-29 05:32:17 26 4
gpt4 key购买 nike

只是没有得到正确的搜索词,但我的问题是如何实现这个 tableview 功能,我可以滚动到顶部,但只有进一步滚动到顶部,第一行的顶部才会出现一行。

WhatsApp 用于显示“存档聊天”的类似功能,在这里滚动到您的聊天列表,进一步滚动显示您存档的聊天。

我正在使用 swift 2.3

谢谢

最佳答案

可能有点晚了,但在这里你有一个解决方法(目标-c)来复制 whatsapp 存档的聊天滚动进一步的功能:

我使用两个 bool 值来确定 TableView 是否位于顶部位置以及存档的聊天行是否可见。

@property (assign, nonatomic) BOOL isArchivedChatsRowVisible;
@property (assign, nonatomic) BOOL isScrollAtTop;

通过 ScrollView 委托(delegate),使用这些 bool 值,插入或删除一个部分来显示存档聊天单元格。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.y > 0 && self.isArchivedChatsRowVisible) {
self.isScrollAtTop = NO;
self.isArchivedChatsRowVisible = NO;
[self.tableView beginUpdates];
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
}

if (self.isScrollAtTop && scrollView.contentOffset.y < 0 && !self.isArchivedChatsRowVisible) {
self.isArchivedChatsRowVisible = YES;
[self.tableView beginUpdates];
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationMiddle];
[self.tableView endUpdates];
}
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
self.isScrollAtTop = scrollView.contentOffset.y > 0 ? NO : YES;
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (scrollView.contentOffset.y > 0) {
self.isScrollAtTop = NO;
}
}

希望有用

关于swift - 像 WhatsApp Chat 一样滚动,滚动到顶部,进一步滚动显示 "Archived Chats",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40466457/

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