用swift实现navigation bar的完全透明 & navigation bar中button的字体大小调整

用swift实现navigation bar的完全透明 & navigation bar中button的字体大小调整,第1张

概述这几天在项目中遇到的关于navigation bar的一些小问题以及解决的方法记录一下吧: 1.  完全透明navigation bar 有时候我们想要navigation viewcontroller顶部的navigation bar变得完全透明,我们首先想到是从story board下手,但是尝试了半天,也不能达到完全透明的效果 选择这里的Translucent Navigation Bar只

这几天在项目中遇到的关于navigation bar的一些小问题以及解决的方法记录一下吧:

1. 完全透明navigation bar

有时候我们想要navigation vIEwcontroller顶部的navigation bar变得完全透明,我们首先想到是从story board下手,但是尝试了半天,也不能达到完全透明的效果


选择这里的Translucent Navigation bar只能让bar变成那种可以稀释背景色的毛玻璃的效果,那么究竟应该如何才能把整个navigation bar都变成透明呢?

答案是通过代码实现:

非常简单,在vIEwDIDload或者DIDAppear中,加入下面3行代码:

        self.navigationController?.navigationbar.setBackgroundImage(UIImage(),forbarMetrics: UIbarMetrics.Default)        self.navigationController?.navigationbar.shadowImage = UIImage()        self.navigationController?.navigationbar.translucent = true

自己动手试一下效果吧


2. 改变bar中的backbutton或者leftbarbutton的样式

如果我们采用了navigation vIEwcontroller系列,在我们切换到下一页面的时候,在bar的最左面会自动出现一个返回的按钮,这个按钮的文字默认是上一个页面的barItem的文字内容,这些都是默认的,会自动帮我们建立。

那有时候会遇到的问题是,如果A页面的bar Item的文字内容很长,从A页面push到B页面后,这个返回按钮的文字就会很长,从而把B页面的item内容挤到右侧,这样很不美观。

这里我们可以有两种方式来处理,

1> 我们可以新建一个新的按钮,并且赋予它文字,样式等
let backbutton = UIbarbuttonItem(Title: "< Back",style: UIbarbuttonItemStyle.Plain,target: self,action: "goBack")navigationItem.leftbarbuttonItem = backbuttonnavigationItem.leftbarbuttonItem?.setTitleTextAttributes([NSFontAttributename: UIFont(name: "Chalkduster",size: 20)!],forState: UIControlState.normal)

这样做的缺点是,你没有办法从屏幕的左侧向右滑屏实现返回的 *** 作了,而且还必须在goBack的function中自己手动调用navigation的pop方法来达到返回的效果。 2> 或者我们可以来改变这个返回按钮的样式,比如手动把它的文字字体大小调整下
        let customFont = UIFont(name: "heiti SC",size: 12.0)        UIbarbuttonItem.appearance().setTitleTextAttributes([NSFontAttributename: customFont!],forState: UIControlState.normal)
注意,因为我们其实是改变的UIbarbuttonItem ,所以,这段代码我们要放到Appdelegate中来实现。这样,所有的bar中的button类的字体都被强制设定为12号大小了 总结

以上是内存溢出为你收集整理的用swift实现navigation bar的完全透明 & navigation bar中button的字体大小调整全部内容,希望文章能够帮你解决用swift实现navigation bar的完全透明 & navigation bar中button的字体大小调整所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1087259.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存