我有自定義標題視圖的表視圖。在標題視圖中,我有一個UIImage的子視圖。在輪換時,標題視圖及其子視圖不會更新到它們應該在的位置。相反,他們保持自己的位置,直到用戶按下按鈕,移動到不同的頁面等。基本上,他們的位置不會更新,直到用戶以某種方式與應用程序交互。在設備旋轉上更新tableView的headerView
我檢測有設備旋轉:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
// Update header views!
}
我無法找到任何類型的代碼,將更新的標題視圖和它的子視圖雖然。任何幫助讚賞。
編輯:這裏是我的頭視圖代碼:
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, tableView.sectionHeaderHeight))
let headerColor = UIColor.blueColor()
headerView.backgroundColor = headerColor
headerView.tag = section
let headerString = UILabel(frame: CGRect(x: 10, y: 10, width: tableView.frame.size.width-45, height: 30)) as UILabel
headerString.text = "Title"
headerString.textColor = UIColor.whiteColor()
headerView.addSubview(headerString)
let headerTapped = UITapGestureRecognizer(target: self, action:"sectionHeaderTapped:")
headerView.addGestureRecognizer(headerTapped)
// Button in header
let gearImage = UIImage(named: "icons_button")
let width = CGFloat(45)
let rightInset = CGFloat(10)
let headerButton = UIButton(frame: CGRect(x: headerView.frame.maxX - 45, y: 7, width: width, height: width - rightInset))
headerButton.setImage(gearImage, forState: UIControlState.Normal)
headerButton.tag = section
headerButton.contentEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: rightInset)
headerButton.addTarget(self, action: "userButtonPress:", forControlEvents: UIControlEvents.TouchUpInside)
headerView.addSubview(headerButton)
return headerView
}
你在使用故事板嗎? – andrewbuilder
是的,我正在使用故事板 – Tamarisk
您是否考慮過使用Autolayout?您可以在故事板或代碼中設置約束 – andrewbuilder