UITableViewCell に境界線を追加しています。以下はコードです:
トライ-1:
cell.layer.borderWidth = 1;
cell.layer.borderColor = [UIColor redColor].CGColor;
試行-2:
cell.contentView.layer.borderWidth = 1;
cell.contentView.layer.borderColor = [UIColor redColor].CGColor;
私はこれらの両方の方法を試しました。ここに出力があります。
画像でわかるように、この色は境界セルよりも暗くなるため、境界線は2つのセル間で重なっています。
表の枠線を追加していないのはなぜですか?
- 問題は、データによると、単一のテーブルで3つの差分カスタムセルを使用していて、特定のセルがロードされていることです
- したがって、境界線の色を 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;
}
これに対する解決策を提案してください。