假设我在一个表中有两个部分,第1部分中有800个可重复使用的单元格。我们如何设置该部分使其一次显示10个单元格,当我单击“显示更多”按钮时,它应该加载接下来的10个单元格,依此类推?
答案 0 :(得分:1)
部分问题:
第1节中有800个可重复使用的单元格
好像您在第1节中有800行,而不是800个单元格。呈现表格视图后,它将仅创建可以在屏幕上显示的单元格,并在出现更多数据时重新使用它们。
您需要执行以下操作:
allRows
)allRows
中的部分数据的源。 (例如“ fetchedRows”)Load More
按钮。allRows
到fetchedRows
获取一定数量的行。 (例如10行)fetchedRows
重新加载表视图。答案 1 :(得分:0)
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int)
使用该部分。
if section == 0
return 100
else if section == 1
return 10
答案 2 :(得分:0)
请按照以下步骤操作:
设置为全局:
var arrIndex = 10
然后进入
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrIndex
}
然后在表格视图底部添加按钮。在按钮操作中,请输入
@objc func btnShowMoreClicked(sender : Any){
arrIndex = arrIndex + 10
self.tableView.reloadData()
}
它可能会帮助您。谢谢。
答案 3 :(得分:0)
您可以使用pageIndex
设置全局变量var pageIndex:Int = 1
并点按更多以将pageIndex
加1并重新加载UITableview
我已经为第0部分编写了此逻辑,该逻辑最初会加载10条记录,
在此语句return (10 * pageIndex) + 1
中,我在 +1 处增加了一行,因为+1用于加载更多按钮。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 {
return (10 * pageIndex) + 1
}else {
return 10
}
}
答案 4 :(得分:0)
第一组全局int变量:
@interface TableViewController () {
int arrNum;
}
@end
@implementation TableViewController
- (void)viewDidLoad {
[super viewDidLoad];
arrNum = 3;
}
然后设置“节数”:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0){
return arrNum;
}else {
return 5;
}
}
然后在该部分的页脚中创建一个按钮:
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
UIButton *btn = [[UIButton alloc]init];
[btn setTitle:@"btn Click" forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor blueColor]];
[btn addTarget:self action:@selector(btnClk) forControlEvents:UIControlEventTouchDown];
return btn;
}
现在设置单击按钮时所需的操作:
-(void)btnClk {
arrNum = arrNum + 2;
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
}