假设我有一个带有两个部分的UITableView
。如果该部分的数据源为空,我想显示一个带有文本“Section Name is empty”的占位符单元格。
我怎样才能做到这一点?
码
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
if(section == 1)
{
return @"Section One";
}
if(section == 0)
{
return @"Section Two";
}
return @"";
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 1)
{
return self.sectionOne.count;
}
else
{
return self.sectionTwo.count;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSArray *theSource =[[NSArray alloc] init];
if(indexPath.section == 1)
{
theSource = self.sectionOne;
}
else
{
theSource = self.sectionTwo;
}
// See if there's an existing cell we can reuse
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier"];
if (cell == nil)
{
// No cell to reuse => create a new one
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellIdentifier"];
cell.backgroundView = [[UIImageView alloc] init];
// Continue creating cell
}
}
最佳答案
在UITableViewDataSource(伪代码)中实现以下功能:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (datasource == empty)
return 1;
else
return [datasource count];
}
和:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (datasource == empty)
return stub cell;
else
return regular cell;
}
关于ios - UITableView中的占位符单元格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10340376/