在导航栏中添加UIView
我想用圆angular创buildUINavigationBar
。 它会看起来像这样
我在想什么是添加UIView
圆angular,并将其插入导航栏中。 所以这是我的代码
let roundView = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: 44)) roundView.backgroundColor = UIColor.whiteBackground roundView.roundCorners(corners: [.topLeft, .topRight], radius: 20) navigationController?.navigationBar.insertSubview(roundView, at: 0) setTitleTextColor(color: UIColor.black)
通过用户界面,这个效果很好。 但后来我的UIBarButtonItem
丢失,它被我的自定义视图所掩盖,无法点击。 所以我的问题是,如何在导航栏中添加子视图?
谢谢!
只是不使用UINavigation栏,并从头开始创build。 是最简单的方法。 否则,你可以尝试模式图像:
navigationController?.navigationBar.backgroundColor = UIColor(patternImage: UIImage(named: "background.png"))
从故事板,
- 你有ViewController与navigationController
- select
navigationController
并取消select下面select的选项,即显示导航栏的可见性。
-
带一个UIView(purpleView)约束
- 顶部,领先的尾随= 0的超监视
- 身高= 64
-
在紫色视图中带有约束的另一个UIView(whiteView)
- 顶部= 20(用于状态栏)
- 领先的尾部底部= 0 wrt purpleView
-
现在添加取消和标签到你的whiteview
-
现在你的UI层次如下所示
- 以whiteView的出口和angular落半径
而已。
如果你不使用故事板,那么你也可以用代码做同样的事情。 在这种情况下,你必须设置purpleView和whiteView的框架,而不是约束。
希望现在对你清楚。
只要隐藏导航栏。 在UIViewController中添加UIView。 在UIView添加button为后退button或任何你想要的东西。