Swift - 修改导航栏“返回”按钮文字,图标

Swift - 修改导航栏“返回”按钮文字,图标,第1张

概述项目中常常会使用  UINavigationController  对各个页面进行导航,导航栏左侧的返回按钮默认标题文字是上级页面的 title 。 但如果上级页面的标题很长,那么这个返回按钮字很多就会很丑:         当文字极其长时返回文字就会变成“back”:          一,要修改“返回按钮”的文字,有如下两种方式: 1,在父页面中设置 将 navigationItem.back 项目中常常会使用 UINavigationController 对各个页面进行导航,导航栏左侧的返回按钮默认标题文字是上级页面的 Title

但如果上级页面的标题很长,那么这个返回按钮字很多就会很丑:


当文字极其长时返回文字就会变成“back”:

一,要修改“返回按钮”的文字,有如下两种方式:

1,在父页面中设置
navigationItem.backbarbuttonItem设为自定义的 UIbarbuttonItem
这种方法所有的子界面返回时都变成了我们定义的文字,同时文字前面任然保留返回箭头。
1 2 let item = UIbarbuttonItem (Title: "返回" ,style: . Plain self nil ) .navigationItem.backbarbuttonItem = item;
或者也可以直接把文字设为空字符串,这样就只有一个箭头了。 "".navigationItem.backbarbuttonItem = item;

2,在子页面中设置
navigationItem.leftbarbuttonItem为自定义的 UIbarbuttonItem
这种方式可以给各个子页面返回按钮单独设置不同的文字,但文字前面是没有小箭头的。 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
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 - 修改导航栏“返回”按钮文字,图标所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1090786.html

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

发表评论

登录后才能评论

评论列表(0条)

保存