gpt4 book ai didi

ios - 如何以编程方式将多个自定义 XIB 添加到 ScrollView

转载 作者:行者123 更新时间:2023-12-01 16:28:46 27 4
gpt4 key购买 nike

我有几个想要以编程方式添加到 ScrollView 的 XIB。但是,当我使用 addSubview 添加它们时,它们都显示在彼此之上,因为原点始终设置为 0,0。

是否有一种干净的方法可以添加多个 XIB,同时确保它们布局正确而不是相互重叠。

最佳答案

在包含 ScrollView 的主视图 Controller 中,您可以在 Swift 中执行此操作:

let leftView = LeftViewController(nibName: "LeftViewController", bundle: nil)

self.addChildViewController(leftView)
self.scrollView.addSubview(leftView.view)
leftView.didMoveToParentViewController(self)

let middleView = MiddleViewController(nibName: "MiddleViewController", bundle: nil)

var frame1 = middleView.view.frame
frame1.origin.x = self.view.frame.size.width
middleView.view.frame = frame1

self.addChildViewController(middleView)
self.scrollView.addSubview(middleView.view)
middleView.didMoveToParentViewController(self)

let rightView = RightViewController(nibName: "RightViewController", bundle: nil)

var frame2 = rightView.view.frame
frame2.origin.x = self.view.frame.size.width * 2
rightView.view.frame = frame2

self.addChildViewController(rightView)
self.scrollView.addSubview(rightView.view)
rightView.didMoveToParentViewController(self)

self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 3, self.view.frame.size.height - 22)

注意:-22 是为了说明状态栏。

此解决方案的功劳归于: https://www.veasoftware.com/tutorials/2015/4/2/uipageviewcontroller-in-swift-xcode-62-ios-82-tutorial

关于ios - 如何以编程方式将多个自定义 XIB 添加到 ScrollView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33488970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com