topView.backgroundColor = .white // the background must be the same of your dummyNavBar
topView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(topView)
topView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
topView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
topView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
topView.bottomAnchor.constraint(equalTo: yourDummynavBar.topAnchor).isActive = true
5条答案
按热度按时间2admgd591#
如果你使用的是SwiftUI,你可以将这个修饰符添加到NavigationView中:
字符串
sulc1iza2#
尝试为导航栏设置一个委托对象。
字符串
在你的代理对象中符合
UIBarPositioningDelegate
,并将bar附加到顶部;型
t98cgbkg3#
如果没有导航控制器,您将负责调整导航栏的大小和定位。请尝试添加一些约束,将顶部、前导和尾随锚点固定到超级视图的顶部、前导和尾随锚点。接下来,添加一个约束,将导航栏的底部固定到安全区域的底部,该约束的常量为44 pts,无论您想要什么高度。
mu0hgdu04#
简单地在你的dummyNavBar上面添加一个虚拟视图,在你的控制器声明类下面声明你的顶视图:
字符串
现在在viewDidLoad中设置top查看背景颜色并添加约束:
型
yzckvree5#
这对我很有效。
在Swift中-
您可以使用iOS 15* 的UINavigationBarAppearance(),其中您的根导航设置如下:
字符串
在SwiftUI中-
型