在滚动视图中添加视图控制器
Adding view controller in scrollview
我目前正在开发一个使用故事板开发的应用程序。
我正在尝试以编程方式将视图控制器添加到已添加到故事板中的其他 2 个视图之前的分页滚动视图中。
添加了视图控制器,但宽度稍大并进入中间视图。
let vc = Vc()
scrollView.addSubview(vc.view)
您必须为 scrollview
分配一个 contentSize
并为 ViewController
的 frame
分配一个位置
scrollView.contentSize = CGSize(width: 2 * view.frame.width, height: scrollView.frame.height)
let frameVC = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
vc.view.frame = frameVC
vc.willMoveToParentViewController(self)
self.addChildViewController(vc)
vc.didMoveToParentViewController(self)
scrollView.addSubview(vc.view)
请注意,您必须更改 frameVC
以符合您的要求
Swift 5 语法更新
scrollView.contentSize = CGSize(width: 2 * view.frame.width, height: scrollView.frame.height)
let frameVC = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
vc.view.frame = frameVC
vc.willMove(toParent: self)
addChild(vc)
vc.didMove(toParent: self)
scrollView.addSubview(vc.view)
注意:框架与约束布局
除了使用框架,您还可以使用创建约束布局将 UIView
添加到 UIScrollView
scrollView.contentSize = CGSize(width: 2 * view.frame.width, height: scrollView.frame.height)
scrollView.addSubview(vc.view)
vc.view.translatesAutoresizingMaskIntoConstraints = false
// add constrains here
vc.willMove(toParent: self)
addChild(vc)
vc.didMove(toParent: self)
我目前正在开发一个使用故事板开发的应用程序。
我正在尝试以编程方式将视图控制器添加到已添加到故事板中的其他 2 个视图之前的分页滚动视图中。
添加了视图控制器,但宽度稍大并进入中间视图。
let vc = Vc()
scrollView.addSubview(vc.view)
您必须为 scrollview
分配一个 contentSize
并为 ViewController
frame
分配一个位置
scrollView.contentSize = CGSize(width: 2 * view.frame.width, height: scrollView.frame.height)
let frameVC = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
vc.view.frame = frameVC
vc.willMoveToParentViewController(self)
self.addChildViewController(vc)
vc.didMoveToParentViewController(self)
scrollView.addSubview(vc.view)
请注意,您必须更改 frameVC
以符合您的要求
Swift 5 语法更新
scrollView.contentSize = CGSize(width: 2 * view.frame.width, height: scrollView.frame.height)
let frameVC = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
vc.view.frame = frameVC
vc.willMove(toParent: self)
addChild(vc)
vc.didMove(toParent: self)
scrollView.addSubview(vc.view)
注意:框架与约束布局
除了使用框架,您还可以使用创建约束布局将 UIView
添加到 UIScrollView
scrollView.contentSize = CGSize(width: 2 * view.frame.width, height: scrollView.frame.height)
scrollView.addSubview(vc.view)
vc.view.translatesAutoresizingMaskIntoConstraints = false
// add constrains here
vc.willMove(toParent: self)
addChild(vc)
vc.didMove(toParent: self)