但如果上级页面的标题很长,那么这个返回按钮字很多就会很丑:
当文字极其长时返回文字就会变成“back”:
一,要修改“返回按钮”的文字,有如下两种方式:
1,在父页面中设置
将 navigationItem.backbarbuttonItem设为自定义的 UIbarbuttonItem
这种方法所有的子界面返回时都变成了我们定义的文字,同时文字前面任然保留返回箭头。
1 2 | let item = UIbarbuttonItem (Title: "返回" ,style: . Plain self nil ) .navigationItem.backbarbuttonItem = item; |
2,在子页面中设置
将 navigationItem.leftbarbuttonItem为自定义的 UIbarbuttonItem
这种方式可以给各个子页面返回按钮单独设置不同的文字,但文字前面是没有小箭头的。
import UIKit class DetailVIEwController : UIVIEwController { overrIDe func vIEwDIDLoad() { super .vIEwDIDLoad() leftbarBtn = UIbarbuttonItem action: "backtoprevIoUs" ) .navigationItem.leftbarbuttonItem = leftbarBtn } //返回按钮点击响应 backtoprevIoUs(){ .navigationController?.popVIEwControllerAnimated( true ) } dIDReceiveMemoryWarning() { .dIDReceiveMemoryWarning() } } |
二,修改“返回按钮”图标 从上面最后一个例子可以看到,在子页面修改返回按钮的话只有文字没有图片。如果想要使用自定义图片,或者图片文字都需要的话可以进行如下 *** 作:
1,如果只需要图片,不需要文字 比如我们想要用左侧这个图片([email protected])作为返回图标
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import UIKit class DetailVIEwController : UIVIEwController { overrIDe func vIEwDIDLoad() { super .vIEwDIDLoad() let leftbarBtn = UIbarbuttonItem (Title: "" Plain self action: "backtoprevIoUs" ) leftbarBtn.image = UIImage (named: "back" ) //用于消除左边空隙,要不然按钮顶不到最前面 spacer = (barbuttonSystemItem: . Fixedspace nil ) spacer.wIDth = -10; .navigationItem.leftbarbuttonItems = [spacer,leftbarBtn] } //返回按钮点击响应 backtoprevIoUs(){ .navigationController?.popVIEwControllerAnimated( true ) } dIDReceiveMemoryWarning() { .dIDReceiveMemoryWarning() } } |
2,既需要图片也需要文字
这个时候就要通过创建 UIbutton来实现了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import UIKit class DetailVIEwController : UIVIEwController { overrIDe func vIEwDIDLoad() { let button = UIbutton (type: . System ) button.frame = CGRectMake (0,65,30) button.setimage( UIImage (named: "back" ),forState: . normal ) button.setTitle( "返回" ) button.addTarget( self "backtoprevIoUs" touchUpInsIDe ) leftbarBtn = UIbarbuttonItem (customVIEw: button) //用于消除左边空隙,要不然按钮顶不到最前面 spacer = UIbarbuttonItem (barbuttonSystemItem: . Fixedspace nil ) spacer.wIDth = -10; } //返回按钮点击响应 backtoprevIoUs(){ .navigationController?.popVIEwControllerAnimated( true ) } dIDReceiveMemoryWarning() { super .dIDReceiveMemoryWarning() } } |
原文出自: www.hangge.com 转载请保留原文链接: http://www.hangge.com/blog/cache/detail_957.html 总结
以上是内存溢出为你收集整理的Swift - 修改导航栏“返回”按钮文字,图标全部内容,希望文章能够帮你解决Swift - 修改导航栏“返回”按钮文字,图标所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)