以編程方式,我創建了一個視圖並向其添加了標籤和按鈕。它在垂直方向上很好,它與中心對齊,但是當我旋轉屏幕時,它不對齊居中,而是看起來像左對齊。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