gpt4 book ai didi

ios - 重新加载部分而不重新加载部分标题

转载 作者:IT王子 更新时间:2023-10-29 07:54:12 26 4
gpt4 key购买 nike

我有一个UITableView,其中标题 View 中有一个UISegmentedControl。它应该像在 App Store 应用程序中一样工作:当用户滚动时,标题中的标题滚出屏幕,但 segmentedControl 停留在 navigationBar 下方。

screen

当用户选择一个段时,标题下面的部分应该重新加载一个漂亮的 UITableViewRowAnimation。然而,当我调用 tableView:reloadSections:withRowAnimation: 时,页眉 View 也是动画的,我想阻止它,因为它看起来很糟糕。

这是我的代码:

- (void)selectedSegmentIndexChanged:(UISegmentedControl *)sender
{
int index = sender.selectedSegmentIndex;
if (index < self.oldIndex) {
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationLeft];
} else if (index > self.oldIndex) {
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationRight];
}
self.oldIndex = index;
}

有人知道如何在不重新加载标题本身的情况下重新加载标题下方的部分吗?

最佳答案

也许你应该试试

[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows] withRowAnimation:UITableViewRowAnimationLeft] //or UITableViewRowAnimationRight

不过,我不确定,但我认为如果要重新加载的行数比以前少,可能会出现一些错误。


编辑

我认为您可以处理 [tableView beginUpdates][tableView endUpdates] 来解决您的问题。

例如,您有 2 个数据数组要显示。让它们命名为 oldArraynewArray。您可以做什么的示例:

- (void)selectedSegmentIndexChanged:(UISegmentedControl *)sender
{
[self.tableView setDataSource: newArray];
int nbRowToDelete = [oldArray count];
int nbRowToInsert = [newArray count];

NSMutableArray *indexPathsToInsert = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < nbRowToInsert; i++) {
[indexPathsToInsert addObject:[NSIndexPath indexPathForRow:i inSection:section]];
}

NSMutableArray *indexPathsToDelete = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < nbRowToDelete; i++) {
[indexPathsToDelete addObject:[NSIndexPath indexPathForRow:i inSection:section]];
}

[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:UITableViewRowAnimationLeft];
[self.tableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:UITableViewRowAnimationRight];
[self.tableView endUpdates];
}

关于ios - 重新加载部分而不重新加载部分标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20802648/

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