以编程方式,我创建了一个视图并向其添加了标签和按钮。它在垂直方向上很好,它与中心对齐,但是当我旋转屏幕时,它不对齐居中,而是看起来像左对齐。swift:标签和按钮文本的中心对齐方式
这是我的代码:
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: 150))
headerView.layer.borderWidth = 1
headerView.layer.borderColor = UIColor.whiteColor().CGColor
headerView.backgroundColor = ClientConfiguration.primaryUIColor()
let myLabel = UILabel()
myLabel.frame = CGRectMake(-1, -1, tableView.frame.width, 30)
myLabel.font = UIFont.boldSystemFontOfSize(14)
myLabel.backgroundColor = ClientConfiguration.primaryUIColor()
myLabel.textColor = UIColor.whiteColor()
myLabel.text = "Select Time Zone"
myLabel.textAlignment = .Center
let frame = CGRectMake(1, 1,headerView.frame.width , 70)
self.btnTimeZone.frame = frame
headerView.addSubview(myLabel)
headerView.addSubview(self.btnTimeZone)
self.buttonTitileString = self.selectedZone.value
self.btnTimeZone.setTitle(buttonTitileString, forState: .Normal)
return headerView
}
In horizontal mode the button text and label are aligned to left
,当我设置self.btnTimeZone.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center
它在水平模式很好,但在垂直模式中都作为是右对齐; enter image description here
我该如何解决这个问题,我需要他们两个中心水平和垂直模式对齐。
你可能要重新计算框架的方向改变时。当您更改方向时,宽度会更改为高度,反之亦然。如果您上传示例项目,也许我可以更好地审视它。另外,为什么你不使用自动布局? –
这是我所做的所有创建视图Programitically。 – iron