我正在嘗試創建一個UITableViewCell子類,它包含兩個圓角視圖,一個在頂部,一個在底部,一起以單元格內的圓角矩形視圖結尾,並帶有縮進空間在所有4邊(由原型單元格的故事板中的自動佈局約束設置)。這些單元格是加載到UIContainerView中的tableview的一部分,該UIContainerView根據選擇控件的選擇將其內容換出。UITableViewCell子類中的蒙版在第一次加載時不能正確呈現
這是我想要的細胞看起來像(塗黑):
這裏是什麼樣子簡單地說,當第一次加載:
這裏是它首次加載後的樣子:
當我切換到不同的選項卡,然後回來,它正確呈現單元格。
override func viewDidLoad() {
... // grab data in a background network call, populating the array of model objects
self.currentSelectedViewController!.view.translatesAutoresizingMaskIntoConstraints = false
self.addChildViewController(self.currentSelectedViewController!)
self.addSubView(self.currentSelectedViewController!.view, toView: self.containerView)
self.refreshContainerView()
super.viewDidLoad()
}
refreshContainerView看起來像這樣::
我在父視圖控制器(改編自this)
func cycleFromViewController(oldViewController: UIViewController, toViewController newViewController: UIViewController) {
oldViewController.willMoveToParentViewController(nil)
self.addChildViewController(newViewController)
self.addSubView(newViewController.view, toView:self.containerView!)
newViewController.view.alpha = 0
newViewController.view.layoutIfNeeded()
UIView.animateWithDuration(0.25, animations: {
newViewController.view.alpha = 1
oldViewController.view.alpha = 0
},
completion: { finished in
oldViewController.view.removeFromSuperview()
oldViewController.removeFromParentViewController()
newViewController.didMoveToParentViewController(self)
})
}
父視圖控制器的viewDidLoad方法被稱爲像這樣使用此方法
func refreshContainerView() {
let currentVC = self.currentSelectedViewController as! MyTableViewController
currentVC.modelObjectList = self.modelObjectList
self.label.hidden = true
self.button.hidden = true
currentVC.tableView.reloadData()
}
這是我的單元格的佈局子視圖方法:
override func layoutSubviews() {
super.layoutSubviews()
self.reminderView.backgroundColor = UIColor.grayColor()
if let aModel = self.model {
self.configureWithModel(aModel)
}
self.setMaskToView(self.topView, corners: UIRectCorner.TopLeft.union(UIRectCorner.TopRight))
self.setMaskToView(self.bottomView, corners: UIRectCorner.BottomLeft.union(UIRectCorner.BottomRight))
}
有什麼想法就如何解決 1.初始加載簡要沒有插圖和 2.初始加載與右側無法正常渲染圓角最終渲染?
此單元格作爲原型存在於故事板中,並通過自動佈局約束創建了插圖。 (根據情況不變地設置頂部和底部視圖與頂部,底部,右側和左側的距離)。很明顯,這些約束在單元重新加載時起作用,但由於某種原因逃避我而不是在初始加載時。