我是ios开发的新手,我正在尝试使用以下代码将当前控制器推送到下一个控制器
self.navigationController?.pushViewController(controller, animated: true)
但是,当我进入下一个控制器时,左侧栏按钮上有一个后退图标(是的,这正是我想要的)。问题是,因为我打算执行展开segue动作,我必须手动将条形按钮项添加到新控制器并控制拖动到退出以执行展开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 :(得分:1)
您不需要对按钮执行任何操作。您需要做的是以下内容:
UINavigationControllerDelegate
navigationController:animationControllerForOperation:fromViewController:toViewController:
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
答案 1 :(得分:0)
将此代码写入viewDidLoad()
。
navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "imagename"), style: UIBarButtonItemStyle.Plain, target: self, action: "leftbuttonclick")