2016-07-25 104 views
1

我正在尝试开发iOS应用程序的自定义搜索。导航控制器上的后退按钮位置

我设法得到出现在搜索控制器和显示正确的搜索栏,但我唯一的问题是,我需要后退按钮出现在导航栏,而不是左的权利,请参见下面

(正如你所看到的后退按钮是在左边,但我需要的是右侧) http://imgur.com/qLPoIfG

这里是我的代码:

import UIKit 

类SearchTop10Controller:UITableVie wController,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. 
} 
+0

不要编辑你的代码,包括您的固定代码(没有问题)。通过点击旁边的检查标记将答案提供给解决方案的答案。 – WMios

+0

我会说,如果这是你想要在商店得到的东西苹果通常是相当违背标准(即它在右边而不是左边)。 – Dallas

回答

2

您可以添加一个返回按钮,右边栏项目是这样的:

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 
+0

谢谢您的回复,我将如何去除左边的物品? –

+0

@Deucebigalow请参阅上面的修改。你只需将它设置为'nil'。 – WMios

+0

@Deucebigalow,让我知道如果这有效。 – WMios

相关问题