导航控制器上的后退button位置

我目前正在尝试开发一个iOS应用程序的自定义search。

我设法让search控制器出现,search栏显示正常,但我唯一的问题是我需要后退button出现在导航栏的右侧,而不是左侧,请参阅下面

(你可以看到后面的button在左边,但我需要它在右边) http://imgur.com/qLPoIfG

这是我的代码:

import UIKit 

class SearchTop10Controller:UITableViewController,UISearchResultsUpdating {

 override func viewDidLoad() { super.viewDidLoad() let searchController = UISearchController(searchResultsController: self); self.definesPresentationContext = true; searchController.searchResultsUpdater = self; // searchController.hidesNavigationBarDuringPresentation = true; searchController.dimsBackgroundDuringPresentation = false; searchController.searchBar.sizeToFit(); self.navigationItem.titleView = searchController.searchBar; self.tableView.tableHeaderView = searchController.searchBar; } override func viewDidAppear(animated: Bool) { } func updateSearchResultsForSearchController(searchController: UISearchController) { //do whatever with searchController here. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } 

你可以添加一个后退button到这个右栏:

 let backButton : UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "back_icon"), style: UIBarButtonItemStyle.Plain, target: self, action: #selector(back)) self.navigationItem.rightBarButtonItem = backButton 

其中back_icon是您正在使用的图像,而back是以下函数:

 func back() { self.navigationController?.popViewControllerAnimated(true) } 

要隐藏左栏项目:

 self.navigationItem.leftBarButtonItem = nil 

要么:

 self.navigationItem.hidesBackButton = true