仅使用后退按钮和透明背景导航
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅使用后退按钮和透明背景导航相关的知识,希望对你有一定的参考价值。
我曾尝试实现嵌入我的View Controller的导航控制器。它按预期工作。
但我的要求略有不同,只需要一个后退按钮,并且已经在所有屏幕中都有一个带有徽标图像背景的顶部横幅。因此,如果我尝试实现后退按钮,它会占用导航栏的空间,其中包含徽标/顶部横幅。
有没有办法克服这种情况。
这似乎很简单,通过我的应用程序中使用的以下代码: -
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true
self.navigationController?.view.backgroundColor = UIColor.clearColor()
编辑:-
要删除后退按钮文字: -
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)
Swift 3.0
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.view.backgroundColor = UIColor.clear
我不知道有没有其他选择。但在过去,我和你一样。
我用UIView创建了自定义.XIB。并添加子视图作为导航栏。
所以,据我所知,最好的选择是,用UINavigation栏的高度创建自定义.XIB。并添加为子视图。
以下是您如何实现它的步骤。
1)获取大小为宽度46和高度44的.h文件,.m文件和UIView的Xib
2)根据您的设计设置约束和布局。
3)在.h文件中为“后退”按钮添加插座。
4)在customview.h文件中创建一个委托。在.m文件中设置方法。
5)然后在viewcontroller.h文件中导入customview.h文件。同样不要忘记在viewcontrollers接口中定义委托。 <>
6)现在在Viewdidload方法中添加customheaderview作为子视图。
#define macro_name (Define in constantfile as macro if you don't want to write whole code again and again)
NavigationHeaderview *customView = [NavigationHeaderview CustomNavigation:self.navigationController.navigationBar.frame.origin.x y:self.navigationController.navigationBar.frame.origin.y width:self.navigationController.navigationBar.frame.size.width height:self.navigationController.navigationBar.frame.size.height];
customView.delegate=self;
[self.navigationController.view addSubview:customView];
7)使用headerview的委托方法在所有视图控制器中访问它。
现在你可以像在UIView中那样在导航栏中做任何事情。
注意: - 我知道这是一个繁琐的过程。但是当您在导航栏中需要3或4个按钮并在其上设置动作时,它是值得的。或者需要在导航栏中为整个项目设计相同的布局..
以上是关于仅使用后退按钮和透明背景导航的主要内容,如果未能解决你的问题,请参考以下文章