ios - 如何在滚动视图上添加多个视图控制器而不重叠
问题描述
我正在尝试在滚动视图上安装多个视图控制器。但是屏幕上的视图重叠
let settingView: SettingsView = SettingsView(nibName: "SettingsView", bundle: nil)
self.addChild(settingView)
self.scrollView.addSubview(settingView.view)
settingView.didMove(toParent: self)
settingView.view.frame = self.view.bounds
let mainView: MainView = MainView(nibName: "MainView", bundle: nil)
self.addChild(mainView)
self.scrollView.addSubview(mainView.view)
mainView.didMove(toParent: self)
mainView.view.frame = self.view.bounds
var mainFrame: CGRect = mainView.view.frame
mainFrame.origin.x = settingView.view.frame.width
mainView.view.frame = mainFrame
let connectionView: ConnectionView = ConnectionView(nibName: "ConnectionView", bundle: nil)
self.addChild(connectionView)
self.scrollView.addSubview(connectionView.view)
connectionView.didMove(toParent: self)
connectionView.view.frame = scrollView.bounds
var connectionFrame: CGRect = connectionView.view.frame
connectionFrame.origin.x = 2 * self.view.frame.width
connectionView.view.frame = connectionFrame
self.scrollView.contentSize = CGSize(width: (self.scrollView.frame.size.width) * 3
, height: self.scrollView.frame.size.height)
self.scrollView.contentOffset = CGPoint(x: (self.view.frame.width), y: self.view.frame.height)
每个视图控制器都应该适合屏幕的大小,但它们会重叠到彼此的屏幕上
解决方案
推荐阅读
- python - 如何在 pandas 的多个 If 语句中减少 for 循环和 df.loc 的运行时间?
- android - 频繁调用fusedLocationProviderClient lastKnownLocation的Android电池消耗?
- java - 对经常超时的 API 进行休息调用的微服务设计模式
- r - (R) Markdown:如何在不插入空行的情况下定义新段落?
- php - 从 SHOUTcast 脚本 print_r ($vc_shoutcast->LISTENERS) 中删除重复项;
- python - 使用 Notebook 中的名称酸洗列表并在 Notebook2 中取消酸洗它们
- python - ModuleNotFoundError:即使安装后也没有名为“selenium”的模块
- java - Java 服务器的语言支持在过去 3 分钟内崩溃了 5 次。服务器不会重启
- xcode - 我在哪里可以删除我在 macOS Big Sur 中使用 Xcode 安装的 App 小部件?
- typescript - 为什么依赖于推断的通用参数的接口成员解析为“未知”?