使用 swift 将 y contentOffset 从 scrollViewDidScroll(scrollView 传递到另一个视图控制器

Posted

技术标签:

【中文标题】使用 swift 将 y contentOffset 从 scrollViewDidScroll(scrollView 传递到另一个视图控制器【英文标题】:Passing y contentOffset from scrollViewDidScroll(scrollView to another view controller using swift 【发布时间】:2014-06-12 16:36:52 【问题描述】:

我不熟悉编程和 swift。

我有一个 mainViewController 和一个包含 scrollView 的 containerView。我希望能够从这个 scrollView 传递 y contentOffset 的值(从 scrollViewDidScroll(scrollView 函数)来更新 mainViewController 中图像的 frame.origin.y 以便它与 containerView 的 scrollView 相关。

如何使用 swift 在两个视图控制器(或多个视图控制器)之间共享数据?

任何帮助将不胜感激!!!

【问题讨论】:

【参考方案1】:

假设你的滚动视图被命名为 sView 并且 UIImageView 被命名为 img。 然后你应该在你的 ViewController 中写这样的东西:

在类声明中添加逗号和滚动视图委托

class ViewController: UIViewController, UIScrollViewDelegate 

那么你应该在viewDidLoad

之后的某处实现scrollViewDidScroll功能
    func scrollViewDidScroll(scrollView:UIScrollView)
    if scrollView == sView 
        let frame = CGRectMake(img.frame.origin.x, sView.contentOffset.y, img.frame.size.width, img.frame.size.height)
        img.frame = frame
        println("Just check if it's called")
    

然后添加到 viewDidLoad

    //You've aldeady declared sView and img 
    self.view.addSubview(sView)
    self.sView.delegate = self

然后应该工作:)

【讨论】:

以上是关于使用 swift 将 y contentOffset 从 scrollViewDidScroll(scrollView 传递到另一个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

使用 swift 将 y contentOffset 从 scrollViewDidScroll(scrollView 传递到另一个视图控制器

使用 swift 查找 SKNode 的相对 Y 位置

swift:将 y 轴朝向 3-d 空间中的另一个点

Swift - 如何确定 collectionView 的 scrollView.content.y?

swift:将y轴定向到三维空间中的另一个点

如何将数组从 Swift 传递到 MSL 参数(C++)