Swift 4:scrollViewDidScroll无法正常工作

iro
  1. 我创建了第一个View控制器“ MainViewController”,并将其与包含contentContainer的容器视图一起放入其中
  2. 我创建了第二个视图控制器“ AboutContentViewController”,并将其放入ScrollView
  3. 我以编程方式连接Container View和AboutContentViewController:

class MainViewController: UIViewController {
    @IBOutlet weak var contentContainer: UIView!

    override func viewDidLoad() {
        let contentControllerName = "AboutContentViewController"
        if let contentController = storyboard?.instantiateViewController(withIdentifier: contentControllerName) {
            contentContainer.addSubview(contentController.view)
        }
    }
}

  1. 我试图使用此代码捕获scrollViewDidScroll事件

class AboutContentViewController: UIViewController, UIScrollViewDelegate {
    @IBOutlet weak var topGalleryScrollView: UIScrollView!
       
    override func viewDidLoad() {
        super.viewDidLoad()
        
        topGalleryScrollView.contentSize = CGSize(width: 3750.0, height: 417.0)
        topGalleryScrollView.delegate = self
    }
    
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        print("scrollViewDidScroll called")
    }
}

在这种情况下,scrollViewDidScroll事件不起作用

iro

我已经解决了问题。在将其视图添加到容器之前,需要将AboutContentViewController作为子视图控制器添加到MainVewController中:

class MainViewController: UIViewController {
    @IBOutlet weak var contentContainer: UIView!

    override func viewDidLoad() {
        let contentControllerName = "AboutContentViewController"
        if let contentController = storyboard?.instantiateViewController(withIdentifier: contentControllerName) {
            addChildViewController(contentController)
            contentContainer.addSubview(contentController.view)
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章