swift 设置导航栏去掉 - CSDN
  • 由于首页不需要导航栏,标题等,而连接的子页面又要有返回按钮,子页面做了有返回按钮,首页的导航留了一段空白,很不好看;所以要把它隐藏掉,做了隐藏之后,发现子页面的返回按钮也跟着隐藏掉了。 swift 本来是要...

    由于首页不需要导航栏,标题等,而连接的子页面又要有返回按钮,子页面做了有返回按钮,首页的导航留了一段空白,很不好看;所以要把它隐藏掉,做了隐藏之后,发现子页面的返回按钮也跟着隐藏掉了。

    swift 本来是要有返回按钮,父页面要存在导航栏的(我刚入门,不知道这是不是真的)

    我就想 :swift 有没有把首页导航栏隐藏而子页面的返回按钮又可以存在的 ?

    找了很多文章,大部分都是怎么隐藏返回按钮的,或者是隐藏导航栏的;

    终于,在简书找到了找到这篇文章时,很久都不敢确定,兜兜转转之后,把它死马当活马医,拷贝进去,咦,真的可以耶!

    没办法(一个web 的前后端的开发跑来学移动开发),刚学 swift 不久 ,都是拖拉拽,对swift 代码不是很熟悉(幸好有web代码的基础在),还是能看懂一部分的,把注释补充完整,方便自己理解的同时还方便他人!

    好了,以下的是代码:

    import UIKit
    class ViewController: UIViewController {
        
        override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(animated)
                // 隐藏首页的导航栏 true 有动画
                self.navigationController?.setNavigationBarHidden(true, animated: true)
        }
        
        
        override func viewWillDisappear(_ animated: Bool) {
            super.viewWillDisappear(animated)
            // 跳转页面的导航 不隐藏 false
            self.navigationController?.setNavigationBarHidden(false, animated: true)
        }
        
        // 跳转到下一个页面
        func viewToSecond() {
            // 下一个页面返回首页,隐藏导航栏  需要动画
             let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "NextVC")
            self.navigationController?.pushViewController(nextVC!, animated: true)
        }
    
    }
    

    有什么问题,可以留言,方便你我他,共同成长!

    展开全文
  • 自定义导航控制器 class RcNavigationController: UINavigationController { override func viewDidLoad() { super.viewDidLoad() ... // 设置导航栏颜色 self.navigationBar.barTintColor = App...

    自定义导航控制器

    class RcNavigationController: UINavigationController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            
            // 设置导航栏颜色
            self.navigationBar.barTintColor = UIColor.red
            self.navigationBar.isTranslucent = false
            // 去掉下边缘线
            self.navigationBar.setBackgroundImage(UIImage(), for: .default)
            self.navigationBar.shadowImage = UIImage()
        }
        
    }
    
    展开全文
  • 设置导航栏为全透明,且去掉边框黑线


    [self.navigationController.navigationBar setTranslucent:YES];
        [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
        //去黑线
       self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];
    //导航栏的view
        UILabel *label = [[UILabel alloc]initWithFrame:self.navigationController.navigationBar.frame];
    展开全文
  • 案例: 分割线.png 如图,红色框中的分割线(因为导航栏和view的background的颜色都是用的图片很不好看,,黑色的分割线显得更难看) ...2.然后发现项目的代码中导航条的属性是这么设置的 navigationControlle

    案例:


    分割线.png

    如图,红色框中的分割线(因为导航栏和view的background的颜色都是用的图片很不好看,,黑色的分割线显得更难看)

    解决方案

    1.最先企图去改变navigationBar的透明度(translucent,alpha),,但发现并没有成功....

    2.然后发现项目的代码中导航条的属性是这么设置的

            navigationController?.navigationBar.setBackgroundImage(UIImage(named: "blackImgOfNavBg"), forBarMetrics: UIBarMetrics.Default)
            navigationController?.navigationBar.shadowImage =  UIImage(named: "blackImgOfNavBg")
            navigationController?.navigationBar.titleTextAttributes=[NSForegroundColorAttributeName:UIColor.whiteColor()]

    感觉日了狗了,目前又不好改代码(实现黑色背景白色字体完全没有必要这么做)

    1. 然后我就在当前的处理器中用了另一个方法
      navigationController?.navigationBar.setBackgroundImage(imageFromColor(COLORRGBA(60, g: 165, b: 210, a: 1)), forBarPosition: UIBarPosition.Any, barMetrics: UIBarMetrics.Default)
      navigationController?.navigationBar.shadowImage = UIImage()
      效果图:

    效果图.png

    注意看,这里完全没有分割的感觉.
    其实要实现没有分割的感觉有其他更好的方法,比如隐藏导航条,然后自定义.但是我这里由于下面有一个大的textView,键盘弹起时为避免键盘遮挡,整个界面上移,自定义导航条的话,自定义的导航条也会被弹上去,很难看

    补充

    这里,我用了色值生成图片,保证上下颜色一致,如果上下不一致,存在分割线不可避免(之所以用色值生成图片是因为,之前那张图太丑了,颜色不均匀,看不下去)
    这是一段萌萌的代码

    /// 颜色转图片的方法

        ///

        /// - parameter color: 颜色

        ///

        /// - returns: 图片对象

       public static func imageFromColor(color: UIColor, viewSize: CGSize) -> UIImage{

            let rect: CGRect = CGRect(x: 0, y: 0, width: viewSize.width, height: viewSize.height)

            UIGraphicsBeginImageContext(rect.size)

            let context: CGContext = UIGraphicsGetCurrentContext()!

            context.setFillColor(color.cgColor)

            context.fill(rect)

            

            let image = UIGraphicsGetImageFromCurrentImageContext()

            UIGraphicsGetCurrentContext()

            return image!

        }

    展开全文
  • 本文为个人学习笔记(2017.10.14) 因为Xcode和Swift更新太快,网上找到的内容经常存在过期的问题,所以只好自己边百度边摸索边记录了。...为View添加导航栏导航栏所在的的controller中 viewDidLoa
  • 项目中常常会使用 UINavigationController 对各个页面进行导航,导航栏左侧的返回按钮默认标题文字是上级页面的title。 但如果上级页面的标题很长,那么这个返回按钮字很多就会很丑:   当文字...
  • 需求:实现导航栏随tableView滑动颜色渐变、头部图片往上移动效果和往下放大效果 最终效果如下: 准备工作:先用storyboard创建一个视图控制器(UIViewController),加入视图(TableView),并添加约束 1、用...
  • 导航栏去掉系统的返回按钮箭头后边的文字 //导航栏的返回按钮只保留那个箭头,去掉后边的文字,最简单且没有副作用的方法就是 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0...
  • 返回 图片,而不显示上级界面的标题,可以通过设置导航栏的的属性  [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)forBarMetrics:UIBarMetricsDefault]; 在iOS11上,...
  • 用一个全透明的图片去覆盖navigationBar,这样运行模拟器,Navigationbar下方会出现一横线,如图 而有时候我们不需要这横向,影响美观,那么这调横线是怎么形成的? 其实,这是shadoImage 在作怪,这...
  • swift -自定义返回图片,隐藏返回键 https://www.cnblogs.com/qingzZ/p/10904585.html iOS11之前 修改导航栏“返回”按钮文字,图标 https://blog.csdn.net/u012701023/article/details/50264265 iOS11 完美...
  • 1、使用苹果手机的朋友应该都知道,在使用App的时候,如果要返回前一个界面,一般可以使用手指从屏幕左边缘开始向右一滑,就可以返回前一个界面,这也是返回时ios自带的返回动画,这里就简单介绍一下实现方式: ...
  • 1.去掉导航条的线,这是原图,中间的一个黑线  去掉后的xia
  • 最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -6...
  • 今天用Xcode8.2 新建一个Demo,底部一个Tabbar,上面一个导航栏,之前的项目是老板版建立的,将之前的代码拉进来,瞬间方了,肿么回事!看到下效果图A)[UINavigationBar appearance].backgroundColor = RColor; B...
  • 说实话Google了一大圈,最后还是在Stack Overflow上找到了自己想要的答案,但是在swift里面还像没有imageWithColor方法,只能自定义了 下面是代码 func shadowImageLine() -> Void { self.navigationController?....
  • iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字(uinavigationcontroller 返回按钮 标题) 在 iOS 11 ,之前,为了只显示 chevron 图片,而不显示上级界面的标题,可以通过设置导航栏的的属性  [...
  • //去掉返回按钮文字  [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)forBarMetrics:UIBarMetricsDefault];
  • 去掉导航条底部线条 [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault]; [self.navigationController.navigationBar setShadowImage:[...
  • 设置 self.navigationController.navigationBar.barTintColor 属性的时候,我们会发现颜色是有偏差的,是因为有一层毛玻璃效果视图,可以设置 self.navigationController.navigationBar.translucent = NO; ...
1 2 3 4 5 ... 20
收藏数 500
精华内容 200
热门标签
关键字:

swift 设置导航栏去掉