在导航控制器中嵌入的选项卡上添加后退按钮旁边的其他按钮

时间:2015-10-18 23:33:48

标签: ios swift uinavigationbar

我的故事板看起来像storyboard所示的图像。 当我向下钻取时,单个导航控制器管理我的向下钻取导航向所有视图1,2,3和4添加一个后退按钮。 我想做的是,在右边的“后退”导航栏上为3个标签视图中的每一个添加一个额外的按钮(2,3和4) 这可以在Swift中完成吗? 有人可以帮忙吗?我无法使用故事板添加它,因为按钮似乎在故事板上消失,并且在我运行应用程序时不会显示。

4 个答案:

答案 0 :(得分:2)

您不想添加其他后退按钮;您想添加正确的栏按钮项。您可以在代码或故事板中执行此操作。

在代码中,您需要执行以下操作:

self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Some Title", style: .Plain, target: self, action: <your-selector>)

targetaction指向视图控制器上的某种方法(或其他对象,如果您已经设置了它)。

在故事板中,

  1. 如果视图控制器没有视图控制器,请将UINavigationItem拖到每个视图控制器。
  2. UIBarButtonItem拖到每个视图控制器导航栏的右侧。
  3. enter image description here

    1. 配置按钮的标题或图像。
    2. enter image description here

      1. 按住 - 从右侧栏按钮项目拖动到它所在的视图控制器,并选择在点击按钮时要触发的IBAction方法。

答案 1 :(得分:1)

尝试拖动条形按钮项,而不是UI按钮。你可以在视图中设置按钮的标题,加载每个控制器,甚至在代码中创建按钮。这是怎么做的

override func viewDidLoad() {
    super.viewDidLoad()
    let barButton = UIBarButtonItem(title: "VC1 bar button", style: UIBarButtonItemStyle.Plain, target: self, action: "The action function name")
    self.navigationItem.rightBarButtonItem = barButton
}

答案 2 :(得分:0)

将它放在viewDidLoad()

navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Custom, target: self, action: "*add a func saying what you want the button to do*")

示例:

func save() {
    UIImageWriteToSavedPhotosAlbum(imageView.image!, self, "image:didFinishSavingWithError:contextInfo:", nil)
}

所以在这种情况下,我会说:

navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Custom, target: self, action: "save")

我希望这有帮助!

注意:只有在您运行应用

时,才能在故事板中看到它

答案 3 :(得分:0)

我找到了一种简单的方法

let barButton = UIBarButtonItem(image: UIImage(named: "YourImage"), style: .plain, target: self, action: #selector(yourClass.yourFunction(_:)))

self.navigationController?.topViewController?.navigationItem.rightBarButtonItem = barButton

添加此代码以及您想要在后退按钮旁边添加右键的所有视图控制器。

我希望这段代码可以帮到你!