'在滑动时隐藏导航栏'永远不会回来

时间:2017-10-02 09:13:54

标签: ios swift xcode uinavigationcontroller

我在视图控制器中创建了一个视差类型滚动效果(或弹性标题)。

我有一个uiscrollview,它固定在窗口边缘。在这里面我有一个视图,它固定有0个常量约束到滚动视图,并设置为相等的宽度。 在该视图中是内容。在内容的顶部是一个图像,并使用两个约束将其锚定到窗口的顶部(安全区域指南)。 首先是常数= 0优先级= 750。 第二个是常数< = 0 priority = 1000。

这有效..当我向上滚动所有内容时向上滚动。当我从顶部向下滚动时,图像会拉伸然后反弹回来。

问题:我还试图在用户滚动时实现导航栏隐藏。我已将此代码添加到视图控制器中:

override func viewDidAppear(_ animated: Bool) {
        navigationController?.hidesBarsOnSwipe = true
    }

当我向上滚动(导航栏淡出并动画直到隐藏)时,此功能正常,但当我向下滚动时,导航栏不会返回。我认为它被隐藏在窗口顶部的图像以某种方式隐藏。但是如何调整/重新连接导航栏?

xcode 9 - swift 4

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码可能会有所帮助。

确保您应该delegate UIScrollView scrollViewDidScroll并实施func scrollViewDidScroll(_ scrollView: UIScrollView) { let scrollOffset: Float = Float(scrollView.contentOffset.y) if scrollOffset < 0 { navigationController?.hidesBarsOnSwipe = false navigationController?.setNavigationBarHidden(false, animated: true) } else { navigationController?.hidesBarsOnSwipe = true } } 委托方法。

s3.putObject({
            Bucket: bucketName,
            Key: key,
            Body: content
          }, (res) => {
console.log("One file added");
  });
相关问题