我在视图控制器中创建了一个视差类型滚动效果(或弹性标题)。
我有一个uiscrollview,它固定在窗口边缘。在这里面我有一个视图,它固定有0个常量约束到滚动视图,并设置为相等的宽度。 在该视图中是内容。在内容的顶部是一个图像,并使用两个约束将其锚定到窗口的顶部(安全区域指南)。 首先是常数= 0优先级= 750。 第二个是常数< = 0 priority = 1000。
这有效..当我向上滚动所有内容时向上滚动。当我从顶部向下滚动时,图像会拉伸然后反弹回来。
问题:我还试图在用户滚动时实现导航栏隐藏。我已将此代码添加到视图控制器中:
override func viewDidAppear(_ animated: Bool) {
navigationController?.hidesBarsOnSwipe = true
}
当我向上滚动(导航栏淡出并动画直到隐藏)时,此功能正常,但当我向下滚动时,导航栏不会返回。我认为它被隐藏在窗口顶部的图像以某种方式隐藏。但是如何调整/重新连接导航栏?
xcode 9 - swift 4
答案 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");
});