隐藏嵌入式视图控制器中的Scrollview项

时间:2016-08-05 20:36:13

标签: ios swift xcode uiscrollview uinavigationcontroller

对不起标题,我不知道怎么说得对。在本教程中,我一直在使用scrollview概念(如Snapchat)中的视图控制器:

https://www.youtube.com/watch?v=eHERMrAcmdo

我遇到的问题是,当我向视图控制器添加导航时,我希望能够隐藏滚动视图上的内容。我基本上添加了一些叠加按钮,当我不在那些3根控制器中时我想要隐藏它们。我想在其他视图控制器中更改滚动视图中有很多不同的东西,但我只是不明白如何访问它。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,听起来你正试图检测用户所在的视图,并且有一些显示和隐藏某些按钮的逻辑。因此,如果您希望您的逻辑在主ViewController类中执行此操作,您可以执行类似的操作..

将UIScrollViewDelegate添加到ViewController

,例如

class ViewController: UIViewController, UIScrollViewDelegate

然后在viewDidLoad()

scrollView.delegate = self

然后在viewDidLoad()

下添加此函数
func scrollViewDidScroll(scrollView: UIScrollView) {
    let offSet = self.scrollView.contentOffset
    if offSet.x == 0 {
        print("On scrollview 1") // Hide the button here?
    } else if offSet.x == 414.0 {
        print("On scrollview 2")
    } else if offSet.x == 828.0 {
        print("On scrollview 3")
    }
}

答案 1 :(得分:0)

好的,我已经弄清楚了。这个问题也在其他地方被问到,我认为他最终采用了不同的方式,但这是最简单的方法,可能是最好的方法。 3个视图控制器是scrollview的childViewControllers,所以我不得不使用self.parentViewController来访问scrollview。