2017-09-05 44 views
0

如何以編程方式設置TableView(而不是節)的變量標題,而不必擔心位置?如何以編程方式設置TableView(不是節)的變量標頭?

let headerView = UILabel() 
    headerView.text = x 
    headerView.textColor = UIColor.blueColor() 
    headerView.frame = CGRect(x: 0, y: 0, width: headerView.frame.width, height: 44) 
    tableView.tableHeaderView = headerView 

我得到了這段代碼,但我不認爲我可以將標題完全像是一個'真正'的標題。任何人都知道如何做到這一點?

+0

創建一個UIView,並將其UILabel放入其中作爲子視圖。 – 2017-09-05 18:04:35

+0

你真正的問題是什麼?您發佈的代碼有什麼問題? – rmaddy

回答

0

由於德米特里說,這是做一個正常的方式:

tableView.tableHeaderView = headerView 

位置由您在這個設定,所以如果位置是你想要什麼不同的框架無論如何定義,你有玩這行代碼的:

headerView.frame = CGRect(x: 0, y: 0, width: headerView.frame.width, height: 44) 

例如,如果你想爲中心的標籤,比如,你可以這樣來做:

headerView.frame = CGRect(x: 0, y: 0, width: tableView.frame.width, height: 44) 
headerView.textAlignment = .centered 

這將跨越tableView寬度的標籤,並且文本對齊會將其放到中心。當然,爲了這個工作,tableView框架必須已經計算在這個點上(所以也許你不得不在框架計算中使用layoutSubviews方法)。

+0

非常感謝!有效 –

0

我認爲這是tableView.tableHeaderView = headerView - 這是在UITableView中創建標頭的正常方法。

+0

如果我使用這段代碼,頭部位於左下角,我不希望它是 –

+0

然後你必須在那裏發送一個正確的參數:headerView.frame = CGRect(x:0,y:0,width: headerView.frame.width,height:44) –

相關問題