0
我有3個視圖控制器,我想在scrollview,snapchat樣式中嵌入(因此您可以在它們之間滑動)。但我現在面臨一個非常奇怪的問題,在導航欄出現壓扁對狀態欄,當我重新打開高度時,子視圖控制器會調整大小
但是當我離開應用程序(進入主屏幕爲例)回來,下移。
這裏是我的代碼:
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
self.mainScrollView.delaysContentTouches = false
let v1 = storyboard.instantiateViewController(withIdentifier: "profileViewController") as! profileViewController
self.addChildViewController(v1)
self.mainScrollView.addSubview(v1.view)
v1.didMove(toParentViewController: self)
//--------
let v2 : recordViewController = recordViewController(nibName: "recordViewController", bundle: nil)
self.addChildViewController(v2)
self.mainScrollView.addSubview(v2.view)
v2.didMove(toParentViewController: self)
//--------
let v3 = storyboard.instantiateViewController(withIdentifier: "discoverViewController") as! discoverViewController
self.addChildViewController(v3)
self.mainScrollView.addSubview(v3.view)
v3.didMove(toParentViewController: self)
//--------
var v1frame : CGRect = self.mainScrollView.bounds
v1frame.origin.x = 0
v1.view.frame = v1frame
//v1.view.bindFrameToSuperviewBounds()
var v2frame : CGRect = self.mainScrollView.bounds
v2frame.origin.x = self.view.frame.width
v2.view.frame = v2frame
var v3frame : CGRect = self.mainScrollView.bounds
v3frame.origin.x = self.view.frame.width*2
v3.view.frame = v3frame
我的解決方案,至今已編程添加約束,但我想不出什麼我要補充約束。這是我試過的
let csH = NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[v]-0-|", options: [], metrics: [:], views: ["v": recordView])
let csV = NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[v]-0-|", options: [], metrics: [:], views: ["v": recordView])
view.addConstraints(csH)
view.addConstraints(csV)
如何'mainScrollView'約束?你爲什麼不給'v1.view'等任何框架? – matt
@matt mainScrollView在故事板中受到約束。它具有視圖控制器的頂部,底部,引導和尾部指南 –