首页 > 代码库 > UISearchDisplayController

UISearchDisplayController

////  FirstViewController.swift//  SearchDisplayDemo////  Created by Bruce Lee on 24/12/14.//  Copyright (c) 2014 Dynamic Cell. All rights reserved.//import UIKitclass FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UISearchDisplayDelegate, UISearchBarDelegate {    @IBOutlet weak var tableView: UITableView!    var searchBar: UISearchBar!    var searchController: UISearchDisplayController!    var maskView: UIVisualEffectView!        override func viewDidLoad() {        super.viewDidLoad()                self.searchBar = UISearchBar(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, 44))        searchBar.delegate = self;        self.tableView.tableHeaderView = self.searchBar        self.searchController = UISearchDisplayController(searchBar: self.searchBar, contentsController: self)        self.searchController.delegate = self        var blurEffect = UIBlurEffect(style: .Light)        maskView = UIVisualEffectView(effect: blurEffect)        maskView.frame = UIScreen.mainScreen().bounds                var testLabel = UILabel(frame: CGRectMake(100, 100, 100, 30))        testLabel.text = "hello world"        maskView.addSubview(testLabel)    }        // MARK: - UISearchBar delegate    func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool {        println("search")//        self.searchDisplayController?.searchResultsTableView.backgroundView = searchBackgroundView        self.view.addSubview(maskView)        return true    }        // MARK: - UISearchDisplayController delegate    func searchDisplayController(controller: UISearchDisplayController, willHideSearchResultsTableView tableView: UITableView) {        maskView.removeFromSuperview()    }            func searchDisplayControllerWillEndSearch(controller: UISearchDisplayController) {        println("1")        maskView.removeFromSuperview()    }        func searchDisplayControllerDidEndSearch(controller: UISearchDisplayController) {        println("2")    }        // MARK: - UITableView delegate & datasour    func numberOfSectionsInTableView(tableView: UITableView) -> Int {        return 1    }        func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {        return 10    }        func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {        var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as? UITableViewCell        if cell == nil {            cell = UITableViewCell(style: .Default, reuseIdentifier: "Cell")        }        if indexPath.row % 2 == 0{            cell?.contentView.backgroundColor = UIColor.blueColor()        }        else{            cell?.contentView.backgroundColor = UIColor.greenColor()        }        cell?.textLabel?.text = "\(indexPath.row)"                return cell!    }        override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }}

 

UISearchDisplayController