2017-09-05 35 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) –

相关问题