2016-06-10 37 views
0

我已經從我的tableview刪除分隔左邊距:的UITableView HeaderView保證金

self.tableView.layoutMargins = UIEdgeInsetsZero 
self.tableView.separatorInset = UIEdgeInsetsZero 

在我的cellForRowAtIndexPath

cell.layoutMargins = UIEdgeInsetsZero 

的問題是頁眉和頁腳視圖也被移動了,我想保持它與單元格的內容一致。

enter image description here

我試圖改變幀的willDisplayHeaderViewwillDisplayFooterView沒有成功。任何建議?謝謝!

回答

1

頁眉/頁腳無法粘貼到您單元格的內容。我太浪費了大量的時間對

您必須添加一行到您的部分,並使用它,彷彿它是一個頁眉/頁腳

+0

感謝。那我可以保留這個設計嗎? (沒有分隔線的標題) –

+0

對不起,但你在說什麼分隔線? –

+0

您可以根據需要自定義該特定行(您想用作標題的行),您可以更改其高度/可以更改顏色,邊框寬度等等。它可以輕鬆定製。您可以使用indexPath.section並訪問行號。那麼你可以自定義該單元格 –

1

嘗試在頭鑑於此代碼設置自定義標籤框架

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

    let view = UIView() 
    let lbl = UILabel(frame: CGRectMake(15,2,self.view.frame.size.width,20)) 
    lbl.textColor = UIColor.whiteColor() 
    lbl.text = "SOPORTE" 
    lbl.font = UIFont(name: "Helvetica Neue", size: 15) 
    view.addSubview(lbl) 

    return view 
} 
+0

謝謝。我正在嘗試適應,但很難找到標題和第一個單元格之間的正確距離。 –

+0

根據您的要求只更改x值 –

+0

是的,但我不知道此時段headerView有多高,對吧? –

0

由於梅蒙伊爾沙德建議,我創建了一個新的標籤,但不是做裏面的viewForHeaderInSection我已經做在willDisplayHeaderView,因爲在使用這種方法,我們可以知道的大小,他aderView。

然後我隱藏TableViewHeader的原始文本標籤並添加新的框架標籤。你怎麼看?任何改進?

是這樣的:

override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) 
{ 
    let originView = view as! UITableViewHeaderFooterView 

    let lbl = UILabel(frame: CGRectMake(15,originView.frame.height-30,originView.frame.size.width,20)) 

    // Setting up the new label 
    lbl.numberOfLines = 0 
    lbl.font = Constants.Fonts.HeaderRow 
    lbl.textColor = Constants.Colors.TextColored 

    // Copying the original text content 
    lbl.text = originView.textLabel?.text 

    // Hidding the original label 
    originView.textLabel?.hidden = true 

    originView.addSubview(lbl) 
} 
+0

'originView.textLabel?.hidden = true'非常重要,否則標籤會互相重疊,看起來很奇怪。 – Annjawn