2014-01-24 20 views
1

我有一個UITableViewCell分隔符的實現問題。如何自定義UITableView的分隔符視圖?

從屏幕截圖中可以看到,在分隔符之前有一個白色間隙,我認爲這是因爲我將單元格的bg顏色設置爲淺灰色,並且還將分隔符的插入內容設置爲53。

我的第一次嘗試,而不是使用分離器,我想通過我自己畫在細胞末端的線。但是,由於在選擇行時行的內容得到更新,並且關於單元高度的計算存在很多問題。

所以基本上它是真的很難,我劃清界線像素在小區一端精確。

這讓我的選項進入細胞的分離的觀點,目前不知道有沒有簡單的方法,並填寫用表的我的默認背景顏色的差距。

我的問題是,我怎麼能進入分離器視圖

或者

我是否有任何其他辦法,以實現我想要什麼?

非常感謝。

enter image description here

+1

白色的,你希望看到什麼?嘗試將表格視圖的背景顏色設置爲您希望看到的顏色,而不是白色。 – rmaddy

+0

您是否設置每個單元格的背景視圖或內容視圖的顏色? –

+0

@esker我認爲你是對的,我改變了我的contentView背景顏色。現在工作正常。 – TypingPanda

回答

1

的UITableView不提供API來訪問或直接修改細胞分離器圖。然而,它有方法來改變它的顏色,樣式等等。但是,大多數時候,自定義分隔符的唯一解決方案是自己繪製它,或者更好地將單元格的backgroundView屬性設置爲一個簡單的視圖子視圖或圖層(子視圖,雖然有一些開銷,但可以使用自動調整掩碼或自動佈局自動進行自動調整)。

例如

UIView *backgroundView = [[UIView alloc] initWithFrame:cell.bounds]; 
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(backgroundView.bounds) - 1, CGRectGetWidth(backgroundView.bounds), 1.0f]; 

[lineView setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin)]; 
[backgroundView addSubview:lineView]; 

cell.backgroundView = backgroundView; 
1

使用此解決方法:在電池的底邊緣,你可以設置圖像按您的要求

看跌的UIImageView

STEP 1:設置分隔爲每個圖像 Set divider Y postion as per your cell

步驟2:設置分隔符樣式爲無

Select TableView and from Attribute Inspector

-1

由於iOS的7,你可以使用它代替

cell.separatorInset = UIEdgeInsetsZero;