2013-07-16 85 views
1

我正試圖獲得這個結果來獲得一個TitleTextLabel | DescTextLabel行來打破這兩個。就像這個例子一樣,主頁是從URL字段中劃分出來的。 enter image description here在UITableView中劃分單元格

有人可以請指出我在正確的方向嗎?我已經在線閱讀/ &文檔,但找不到我正在尋找的正確答案。我感謝您的幫助!

感謝

+0

您是問第一個單元格中的垂直線還是旁邊有紅色「 - 」的部分中的水平線? – rdelmar

+0

@rdelmar我在詢問第一個單元格中的垂直線。謝謝! – vzm

回答

2

有幾種方法可以考慮添加分界線。你可以重寫drawRect,並在那裏畫線。另一種完全可以在IB中完成的方法是在左標籤和右標籤之間添加1像素寬的標籤(淺灰色背景和無文本)。左邊的標籤應該有一個固定的寬度和約束的單元左側和1個像素寬的標籤。正確的標籤應該對1像素寬標籤和單元右側(沒有固定寬度)有約束。 1像素寬的標籤應該對單元的頂部和底部具有0長度約束並且具有固定的寬度。

+0

這正是我最終做的!謝謝@rdelmar – vzm

0

它不具備行除以默認,但儘量UITableViewCellStyleValue2

2

您需要手動繪製的細胞該行。

1)創建名爲CellDividerView的UIView子類覆蓋UIView子類CellDividerView.m中的-drawRect:方法。繪圖代碼用純色填充整個矩形,在這種情況下爲深灰色。

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef currentContext = UIGraphicsGetCurrentContext(); 
    CGContextSaveGState(currentContext); 
    CGContextSetFillColorWithColor(currentContext, [UIColor lightGrayColor].CGColor); 
    CGContextFillRect(currentContext, rect); 
    CGContextRestoreGState(currentContext); 
} 

在表視圖委託的-tableView:的cellForRowAtIndexPath:您創建和初始化用定位你希望它在細胞中的幀CellDividerView。在下面的代碼中,它位於右側40pts,頂部0pts,它是1pt寬,並垂直跨越整個單元格高度。接下來,這個視圖被添加到單元的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; 
} 

的結果是這樣的:

Table View Cells with Vertical Dividing Lines

使用自定義單元格樣式,並調整40.0pt偏移將讓您準確位置,你想要的線路。

+0

說什麼?這是如何回答這個問題的?我認爲這個問題是關於「主頁」和「URL」之間的灰線。 – rdelmar

+0

該行是同一個表視圖部分中兩個不同行之間的行分隔符。 – Andrew

+0

但他的問題引用了主頁和URL(TitleTextLabel | DescTextLabel)之間的界限 - 垂直線。這不是兩行之間的分界線。但也許我誤解了他的問題,因爲他似乎認爲你的答案是正確的。 – rdelmar