美文网首页
Swift修改导航栏按钮的文字和图片的几种方法

Swift修改导航栏按钮的文字和图片的几种方法

作者: 野比大雄001 | 来源:发表于2017-05-24 10:37 被阅读465次

1.父页面中设置导航栏按钮,自定义的UIBarButtonItem赋值给navigationItem.backBarButtonItem,这种方法所有的子界面返回时都变成了我们定义的文字,同时文字前面任然保留返回箭头。

let item = UIBarButtonItem(title: "返回", style: .plain, target: self, action: nil)

self.navigationItem.backBarButtonItem = item

let item = UIBarButtonItem(title: "", style: .plain, target: self, action: nil)

self.navigationItem.backBarButtonItem = item

2.子页面中设置导航栏按钮,自定义的UIBarButtonItem赋值给navigationItem.leftBarButtonItem,这种方式可以给各个子页面返回按钮单独设置不同的文字,但文字前面是没有小箭头的。

override func viewDidLoad() {

super.viewDidLoad()

let leftBarBtn = UIBarButtonItem(title: "返回", style: .plain, target: self,

action: #selector(backToPrevious))

self.navigationItem.leftBarButtonItem = leftBarBtn

}

//返回按钮点击响应

func backToPrevious(){

self.navigationController!.popViewController(animated: true)

}

3,如果只需要图片,不需要文字

let leftBarBtn = UIBarButtonItem(title: "", style: .plain, target: self,

action: #selector(backToPrevious))

leftBarBtn.image = UIImage(named: "back")

//用于消除左边空隙,要不然按钮顶不到最前面

let spacer = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil,

action: nil)

spacer.width = -10;

self.navigationItem.leftBarButtonItems = [spacer, leftBarBtn]

}

//返回按钮点击响应

func backToPrevious(){

self.navigationController!.popViewController(animated: true)

}

4,既需要图片也需要文字

let button =UIButton(type: .system)

button.frame = CGRect(x:0, y:0, width:65, height:30)

button.setImage(UIImage(named:"back"), for: .normal)

button.setTitle("返回", for: .normal)

button.addTarget(self, action: #selector(backToPrevious), for: .touchUpInside)

let leftBarBtn = UIBarButtonItem(customView: button)

//用于消除左边空隙,要不然按钮顶不到最前面

let spacer = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil,

action: nil)

spacer.width = -10;

self.navigationItem.leftBarButtonItems = [spacer,leftBarBtn]

}

//返回按钮点击响应

func backToPrevious(){

self.navigationController!.popViewController(animated: true)

}

相关文章

网友评论

      本文标题:Swift修改导航栏按钮的文字和图片的几种方法

      本文链接:https://www.haomeiwen.com/subject/tybnxxtx.html