2016-02-16 42 views
0

我是新的iOS开发,我将尝试使用下面的代码,以电流控制器推到下一个控制器如何将后退图标添加到左侧栏按钮?

self.navigationController?.pushViewController(controller, animated: true) 

然而,当我进入下一个控制器,还有左边后退图标酒吧按钮(是的,这正是我想要的)。问题是,因为我打算执行unwind segue操作,所以我必须手动将bar按钮项添加到新控制器,并控制拖动到出口以执行unwind segue操作。好吧,罚款,事情是当我调试它,后面的图标丢失!我如何让背部图标再次出现?我不想只是简单的文本,我希望有一个图标,导致用户知道这是一个后退按钮

如果我没有指定任何栏按钮进入新的控制器,它会显示这样的

http://s17.postimg.org/duy58azxp/Screen_Shot_2016_02_16_at_2_13_27_PM.png

如果我分配栏按钮项目,并指定标题的后面,该图标将显示为这个

http://s27.postimg.org/n8yngdqcx/Screen_Shot_2016_02_16_at_2_13_11_PM.png

+0

你隐藏你的背部图标在你的代码中的任何地方 –

+0

我甚至没有编码该按钮上的任何东西。 –

回答

1

你不需要做任何的按钮。什么你需要做的却是:

  1. 创建一个新的类并覆盖UINavigationControllerDelegate
  2. 添加方法navigationController:animationControllerForOperation:fromViewController:toViewController:
  3. 上述功能中,添加一些逻辑是这样的:
func navigationController(navigationController: UINavigationController, animationControllerForOperation operation: UINavigationControllerOperation, fromViewController fromVC: UIViewController, toViewController toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? 
{ 
    if fromVC is YourOtherViewController && toVC is YourMainViewController { 
     return CustomAnimator() 
    } 

    return nil 
} 

凡CustomAnimator是UIViewControllerAnimatedTransitioning

012子类
  1. 将导航控制器的代理设置在故事板中。

若要执行步骤4,

  1. 将一个Object到视图的顶部条(它应该First ResponderExit之间去,像这样:
    Object position
  2. 在属性检查员,将新的Object的类别设置为您在第一步中创建的任何文件。
  3. 连接delegate outlet UINavigationControllerObject
0

viewDidLoad()中输入此代码。

navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "imagename"), style: UIBarButtonItemStyle.Plain, target: self, action: "leftbuttonclick") 
相关问题