在rootView Swift 3.0之后以编程方式在ViewControllers中添加bar按钮项

时间:2017-07-31 10:26:47

标签: ios swift uinavigationcontroller uinavigationbar uinavigationitem

我有一个View层次结构

只有一个导航控制器及其rootViewController。

我想在圈出的视图中添加一个左栏按钮项目。

我想添加barButton的视图:

enter image description here

我试过

self.navigationController?.navigationItem.leftBarButtonItem = editButtonItem
<{1>}和viewDidLoad()中的

,但都没有成功。 我还尝试在storyBoard中添加viewWillAppear(),然后添加barButtonItem。这也没有用。

修改

我尝试了下面的答案,这就是我在输出中得到的结果。

尝试答案后

我的输出:

enter image description here

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以像

一样添加条形按钮
let btnleft : UIButton = UIButton(frame: CGRect(x:0, y:0, width:35, height:35))
btnleft.setTitleColor(UIColor.white, for: .normal)
btnleft.contentMode = .left

btnleft.setImage(UIImage(named :"yourimage.png"), for: .normal)
            btnleft.addTarget(self, action: #selector(YOUR_ACTION), for: .touchDown)
let backBarButon: UIBarButtonItem = UIBarButtonItem(customView: btnleft)

self.navigationItem.setLeftBarButtonItems([backBarButon], animated: false)

答案 1 :(得分:0)

a)使用System ItemTarget View Controller InstanceAction Method Name制作新的 BarButtonItem

b)将其分配给leftBarButtonItem

c)func viewWillAppear()

中执行此操作很方便

就是这样!

let editButtonItem = UIBarButtonItem(barButtonSystemItem: .edit, target: self, action: #selector(actionEdit)) // actionEdit is your Action Method for this button
navigationItem.leftBarButtonItem = editButtonItem