![](/img/trans.png)
[英]Is it possible to reload UITableView except particular rows of section?
[英]Reload UITableView except one section of it
我有一個tableView有多個部分。
現在,我想重新加載tableView的所有部分,除了第一個部分(因為它是靜態的並且不會改變)。
我現在可以通過這種方法重新加載部分:
reloadSections(IndexSet, with: UITableView.RowAnimation)
但它需要部分的數量,並且在我的應用中這是動態的,並且會隨時間變化。
我只能說重裝第一節之后的內容。
我以為我應該這樣定義一個IndexSet
:
NSIndexSet *indexSet = [NSIndexPath indexPathWithIndexes:(NSUInteger[]){1, ... } length:???];
我不知道該怎么辦!
任何想法或建議將不勝感激。
更新
這是numberOfSectionsInTableView
實現:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
// Inbox Segment
if (self.selectedIndex == 0) {
if (self.inboxArray.count > 0) {
return self.inboxArray.count + 2;
}
}
// Sent Segment
else if (self.selectedIndex == 1) {
if (self.sentArray.count > 0) {
return self.sentArray.count + 2;
}
}
// Outbox Segment
else if (self.selectedIndex == 2) {
if (self.outboxArray.count > 0) {
return self.outboxArray.count + 2;
}
}
// Spam Segment
else if (self.selectedIndex == 3) {
if (self.spamArray.count > 0) {
return self.spamArray.count + 2;
}
}
// Trash Segment
else if (self.selectedIndex == 4) {
if (self.trashArray.count > 0) {
return self.trashArray.count + 2;
}
}
return 1;
}
假設您知道部分的數量:
NSIndexSet *sectionsIndexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, self.sections.count - 1)]
[self.tableView reloadSections:sectionsIndexSet withRowAnimation:UITableViewRowAnimationNone];
迅速:
let sectionsIndexSet = IndexSet(1..<sections.count)
tableView.reloadSections(sectionsIndexSet, with: .none)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.