使用 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 传递到另一个视图控制器