这几天在项目中遇到的关于navigation bar的一些小问题以及解决的方法记录一下吧:
有时候我们想要navigation viewcontroller顶部的navigation bar变得完全透明,我们首先想到是从story board下手,但是尝试了半天,也不能达到完全透明的效果
选择这里的translucent navigation bar只能让bar变成那种可以稀释背景色的毛玻璃的效果,那么究竟应该如何才能把整个navigation bar都变成透明呢?
答案是通过代码实现:
非常简单,在viewdidload或者didappear中,加入下面3行代码:
自己动手试一下效果吧
如果我们采用了navigation viewcontroller系列,在我们切换到下一页面的时候,在bar的最左面会自动出现一个返回的按钮,这个按钮的文字默认是上一个页面的baritem的文字内容,这些都是默认的,会自动帮我们建立。
那有时候会遇到的问题是,如果a页面的bar item的文字内容很长,从a页面push到b页面后,这个返回按钮的文字就会很长,从而把b页面的item内容挤到右侧,这样很不美观。
这里我们可以有两种方式来处理,
这样做的缺点是,你没有办法从屏幕的左侧向右滑屏实现返回的操作了,而且还必须在goback的function中自己手动调用navigation的pop方法来达到返回的效果。
注意,因为我们其实是改变的uibarbuttonitem ,所以,这段代码我们要放到appdelegate中来实现。这样,所有的bar中的button类的字体都被强制设定为12号大小了