この結果を取得して、2 つを分割する行で TitleTextLabel|DescTextLabel を取得しようとしています。この例のように、ホームページは URL フィールドから分割されています。
誰かが私を正しい方向に向けることができますか? オンラインで / & ドキュメントを読みましたが、探している正しい答えが見つかりません。私はあなたの助けに感謝します!
ありがとう
この結果を取得して、2 つを分割する行で TitleTextLabel|DescTextLabel を取得しようとしています。この例のように、ホームページは URL フィールドから分割されています。
誰かが私を正しい方向に向けることができますか? オンラインで / & ドキュメントを読みましたが、探している正しい答えが見つかりません。私はあなたの助けに感謝します!
ありがとう
セルにその線を手動で描画する必要があります。
1) UIView サブクラスのメソッドをCellDividerView
オーバーライドするという UIView サブクラスを作成します。描画コードは、四角形全体を単色 (この場合は濃い灰色) で塗りつぶします。-drawRect:
CellDividerView.m
- (void)drawRect:(CGRect)rect
{
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextSaveGState(currentContext);
CGContextSetFillColorWithColor(currentContext, [UIColor lightGrayColor].CGColor);
CGContextFillRect(currentContext, rect);
CGContextRestoreGState(currentContext);
}
テーブル ビュー デリゲートの -tableView:cellForRowAtIndexPath: で、セル上の必要な場所にフレームを配置して CellDividerView を作成し、初期化します。以下のコードでは、右に 40 ポイント、上から 0 ポイントの位置にあり、幅は 1 ポイントで、セルの高さ全体に垂直に広がっています。次に、このビューがセルの に追加されcontentView
ます。
#define CELL_VIEW_TAG 1234
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.detailTextLabel.text = [NSString stringWithFormat:@"Section %u", indexPath.section];
cell.textLabel.text = [NSString stringWithFormat:@"Row %u", indexPath.row];
// Configure the cell...
CellView *cellView = (CellView *)[cell.contentView viewWithTag:CELL_VIEW_TAG];
if (!cellView)
{
cellView = [[CellView alloc] initWithFrame:CGRectMake(40.0, 0.0, 1.0, cell.contentView.frame.size.height)];
[cell.contentView addSubview:cellView];
cellView.tag = CELL_VIEW_TAG;
}
return cell;
}
結果は次のようになります。
カスタム セル スタイルを使用して 40.0pt オフセットを調整すると、必要な場所に線を正確に配置できます。
その境界線を追加するには、いくつかの方法が考えられます。drawRect をオーバーライドして、そこに線を引くことができます。完全に IB で実行できる別の方法は、左右のラベルの間に 1 ピクセル幅のラベル (明るい灰色の背景でテキストなし) を追加することです。左ラベルの幅は固定で、セルの左側と 1 ピクセル幅のラベルに制限されている必要があります。右側のラベルには、1 ピクセル幅のラベルとセルの右側に制約が必要です (幅は固定されていません)。1 ピクセル幅のラベルには、セルの上部と下部の長さの制約が 0 で、幅が固定されている必要があります。
デフォルトでは分割線はありませんが、 UITableViewCellStyleValue2 を試してください