2016-11-11 1 views
0

У меня есть UISearchBar, встроенный в форму, так что я пытаюсь сделать это, когда кто-то нажимает на SearchBar. Я хочу, чтобы TableView отображался в виде подвид. Я работаю правильно, но я бы хотел, чтобы SubView появился под SearchBar, чтобы пользователи могли продолжать поиск, мой SubView занимает всю страницу. Вот как я пытаюсь заставить функциональность работать: Trulia App. Обратите внимание на searchBar с соответствующим представлением теперь, если вы нажмете на SearchBar, подвид появится прямо под SearchBar. Как уже говорилось ранее, все работает, за исключением того, что subView занимает всю страницу и не отображается под SearchBar. Это мой код, то третье изображение моей раскадровке ниже, и это мой кодIOS swift Как я могу получить мой SubView, чтобы появиться ниже моего SearchBar

 class RegistrationViewController: UIViewController,UISearchBarDelegate { 

    @IBOutlet weak var Location: UISearchBar! 
     func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool { 
     searchBar.setShowsCancelButton(false, animated: true) 

     let Popup = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "zip_searches") as! ExampleTableViewController 
     self.addChildViewController(Popup) 
     Popup.view.frame = self.view.frame 
     self.view.addSubview(Popup.view) 
     Popup.didMove(toParentViewController: self) 
     return true 
    } 
} 

[Main Page[1]

SubView

enter image description here

ответ

0

Я нашел легкое решение моей проблемы. У вас просто есть SearchBar сверху, тогда вы создаете второй UIView и кладете его под свой SearchBar. Затем подключить этот новый UIView, такой как

@IBOutlet weak var view2: UIView! 

тогда, когда речь идет о той части рамы вы просто сделать это

Popup.view.frame = self.view2.frame 

То есть, когда вы нажимаете на SearchBar View2 будет выступать в качестве всплывающего окна и покрыть все под поиском.

0

IOS имеет UISearchController для этого. Вот код для добавления и ограничения строки поиска к существующему представлению контейнера в вашей доске объявлений, а также для установки tableViewController для показа, когда пользователь начнет вводить текст.

locationSearchResultTableViewController = storyboard?.instantiateViewController(withIdentifier: String(describing: LocationSearchResultTableViewController.self)) as! LocationSearchResultTableViewController 
    locationSearchResultTableViewController.delegate = self 
    searchController = UISearchController(searchResultsController: locationSearchResultTableViewController) 
    searchController.searchResultsUpdater = locationSearchResultTableViewController 
    searchController.dimsBackgroundDuringPresentation = false 
    searchController.definesPresentationContext = true 
    searchContainer.addSubview(searchController.searchBar) 
    searchController.searchBar.translatesAutoresizingMaskIntoConstraints = false 
    let attributes: [NSLayoutAttribute] = [.top, .bottom, .left, .right] 
    attributes.forEach { NSLayoutConstraint(item: self.searchController.searchBar, attribute: $0, relatedBy: .equal, toItem: searchController.searchBar.superview, attribute: $0, multiplier: 1, constant: 0)} 
+0

Благодарим за использование кода, теперь я включу это в –

Смежные вопросы