gpt4 book ai didi

ios - UIScrollView 相对于子 ViewController 的偏移量

转载 作者:行者123 更新时间:2023-11-30 13:35:17 24 4
gpt4 key购买 nike

我目前有一个 UI 类似于 Snapchat ScrollView 的应用程序。 MainViewController包含一个UIScroll,其中添加了三个子ViewController作为子ViewController:

override func viewDidLoad() {

super.viewDidLoad()
scrollView.contentSize = CGSizeMake((self.view.bounds.width*3 + 4), self.view.bounds.height)
self.view.addSubview(scrollView)

let view1 = UIView(frame: CGRectMake(0, 0, self.view.bounds.width, self.view.bounds.height))
scrollView.addSubview(view1)
let aVC = self.storyboard?.instantiateViewControllerWithIdentifier("One")
view1.addSubview(aVC!.view)
self.addChildViewController(aVC!)

let view2 = UIView(frame: CGRectMake((self.view.bounds.width), 0, self.view.bounds.width, self.view.bounds.height))
scrollView.addSubview(view2)
let bVC = self.storyboard?.instantiateViewControllerWithIdentifier("Two")
view2.addSubview(bVC!.view)
self.addChildViewController(bVC!)

let view3 = UIView(frame: CGRectMake(2*view.bounds.width), 0, self.view.bounds.width, self.view.bounds.height))
scrollView.addSubview(view3)
let cVC = self.storyboard?.instantiateViewControllerWithIdentifier("LocationViewController")
view3.addSubview(cVC!.view)
self.addChildViewController(cVC!)

scrollView.contentOffset = CGPointMake(self.view.frame.width, 0
}

我尝试在中间的 ViewController 中添加按钮,这会将 ScrollView 偏移到左侧或右侧的 View Controller 。我知道我可以在 MainViewController 中使用 setContentOffset() ,但我无法在 subview Controller 中调用它。 self.presentingViewController 和 self.parentViewController 都返回 nil。

在子 ViewController 中为 UIScrollView 调用 setContentOffset() 的最佳方法是什么?

最佳答案

这似乎是 delegation 的一个很好的用例。将委托(delegate)添加到具有将更改的 View 的 ViewController,然后让您的父 ViewController 将自己作为委托(delegate)。然后您可以检查 View 并相应地调整大小。

关于ios - UIScrollView 相对于子 ViewController 的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36141968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com