我想创建具有10个元素的UItableView。然而,它创建9(因为它是可见的),当该行可见时创建第10个,现在1个元素被销毁(第一个)。
使用这种方法我有一个问题,我想创建所有10行不重要是否可见,当行可见时只显示它。
只有在我调用reload table时才会重新创建这些行。
这可能吗?
感谢。
答案 0 :(得分:0)
tableView:cellForRowAtIndexPath:
中返回此数组中的单元格像这样......
@property (nonatomic,strong) NSArray *myCells;
...
- (NSArray *)myCells {
if ( _myCells ) {
return _myCells;
}
_myCells = [NSMutableArray array];
UITableViewCell *cell = [[UITableViewCell alloc] init...];
[_myCells addObject:cell];
...
return _myCells;
}
- (void)reloadMyTable {
self.myCells = nil;
[self.tableView reloadData];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.myCells.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
return self.myCells[indexPath.row];
}