首页 > 解决方案 > 如何在滚动视图上添加多个视图控制器而不重叠

问题描述

我正在尝试在滚动视图上安装多个视图控制器。但是屏幕上的视图重叠

    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)

每个视图控制器都应该适合屏幕的大小,但它们会重叠到彼此的屏幕上

标签: iosswiftuiscrollview

解决方案


推荐阅读