我正在向 UITableViewCell 添加边框。下面是代码:
试一试:
cell.layer.borderWidth = 1;
cell.layer.borderColor = [UIColor redColor].CGColor;
尝试2:
cell.contentView.layer.borderWidth = 1;
cell.contentView.layer.borderColor = [UIColor redColor].CGColor;
这两种方法我都试过了,这是输出。
正如您在图像中发现的那样,边界在两个单元格之间重叠,因为这种颜色比边界单元格更深。
为什么我没有添加表格边框?
- 问题是,我在单个表中使用三个差异自定义单元格,根据数据,正在加载特定单元格
- 因此,我无法将边框颜色添加到整个 uitableview 或无法在 cellforrowatindexpath 中绘制单元格边框。因为在该方法中,我只检查它是哪种类型的数据,因此已经加载了自定义单元格。
这是我的cellForRowAtIndexPath
:
- (UITableViewCell*) getTableViewCellForTraining:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath withTrainingInfo:(TrainingInfoiOS*)trainingInfo
{
BeLearnPlatform& ptr = BeLearnPlatform::GetLearnPlatform();
static NSString *CustomCellIdentifier = @"CustomCell";
CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier forIndexPath:indexPath];
cell.courseNameLabel.text = trainingInfo.courseName;
cell.courseStartButton.sectionID = indexPath.section;
cell.courseStartButton.rowID = indexPath.row;
cell.tag=0;
...
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell* cell = nil;
NSString* dictionaryKey = [self createKeyWithSection:indexPath.section andRow:indexPath.row];
NSObject* dataObject = [tableViewMappig objectForKey:dictionaryKey];
if([dataObject isKindOfClass:[MasterCourse class]])
{
UITableViewCell* cell = [self getTableViewCellForTraining:tableView cellForRowAtIndexPath:indexPath withTrainingInfo:(MasterCourse*)dataObject];
return cell;
}
else if([dataObject isKindOfClass:[ParentCourse class]])
{
UITableViewCell* cell = [self getTableViewCellForParentCourse:tableView cellForRowAtIndexPath:indexPath withTrainingInfo:(ParentCourse*)dataObject];
return cell;
}
请为此建议我解决方案。