为了解释我的问题,我将向您显示发生的情况的屏幕截图。
之后,我将显示情节提要和使用的代码。
我认为实际上有两个问题是相关的。
我的应用程序用户界面如下所示:
向下滚动时,我得到以下行为:
导航栏和标签栏消失,这是您期望的行为。
请注意红色条下面的白色条,这不是您想要的行为,我不确定它来自何处。
编辑
将NewsfeedPageCell设为蓝色时,我得到以下信息:
滚动回到顶部时,结果是:
突然,所提供的新闻提要的位置太高。
我的故事板如下所示:
呈现的新闻提要是从xib加载的可重用视图。
编辑:新闻源项目单元格是从xib加载的可重用视图。
据我所知,我已在情节提要中添加了所有必需的锚点。
我的Newsfeed类的代码可处理导航条和滚动条上的标签栏的可见性:
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
// Remove navigationbar and tabbar on scroll
if(velocity.y > 0) {
parentViewController?.navigationController?.setNavigationBarHidden(true, animated: true)
parentViewController?.tabBarController?.hideTabBarAnimated(hide: true)
} else {
parentViewController?.navigationController?.setNavigationBarHidden(false, animated: true)
parentViewController?.tabBarController?.hideTabBarAnimated(hide: false)
}
}
我已经被这个问题困扰了一段时间了。
感谢您的帮助,如果您需要更多信息,请询问。
编辑:约束如下:
Newsfeed分页器的约束:
Edit2:调试视图导航栏隐藏:
没有隐藏导航栏的调试视图:
最佳答案
菜单的顶部锚点似乎位于状态栏上。
尝试:
将MenuBar.top更改为superview.top,而不是Safe Layout.tom
快速解决方法:
override viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .red /// or the MenuBar backgroundColor tiny color
}
关于ios - Xcode setNavigationBarHidden向上移动 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49212983/