2015-05-06 103 views
0

我對Swift和iOS開發很陌生,在我正在開發的項目上, 我想使用一個搜索欄,我必須以編程方式添加,因爲舊的方法似乎在iOS 8中不推薦使用。 我已經設法使其工作,但我不喜歡搜索欄在觸發時轉移到視圖的頂部,並且狀態欄變爲透明。防止UISearchBar向上移動覆蓋導航欄

Here is an example.

我想只是阻止它的導航欄下。 我使用創造了搜索欄的代碼如下:

self.resultSearchController = ({ 
     // creo un oggetto di tipo UISearchController 
     let controller = UISearchController(searchResultsController: nil) 
     // rimuove la tableView di sottofondo in modo da poter successivamente visualizzare gli elementi cercati 
     controller.dimsBackgroundDuringPresentation = false 

     // il searchResultsUpdater, ovvero colui che gestirà gli eventi di ricerca, sarà la ListaTableViewController (o self) 
     controller.searchResultsUpdater = self 

     // impongo alla searchBar, contenuta all'interno del controller, di adattarsi alle dimensioni dell'applicazioni 
     controller.searchBar.sizeToFit() 

     // atacco alla parte superiore della TableView la searchBar 
     self.tableView.tableHeaderView = controller.searchBar 

     // restituisco il controller creato 
     return controller 
    })() 

誰能幫助我? (感謝)

+0

是否將self.edgesForExtendedLayout = UIRectEdgeNone添加到您的視圖控制器幫助? – Danilo

+0

@Danilo不,它沒有做任何事情(顯然)。它是'controller.edgesForExtendedLayout = UIRectEdge.None'? –

+0

應該在您的視圖控制器(不是搜索控制器)中的viewDidLoad – Danilo

回答

1

edgesForExtendedLayout = .None 
在您的視圖控制器

(而不是搜索控制器)viewDidLoad

這將被禁止表視圖「拉」你的搜索欄和狀態欄下方。