// // FirstViewController.swift // SearchDisplayDemo // // Created by Bruce Lee on 24/12/14. // Copyright (c) 2014 Dynamic Cell. All rights reserved. // import UIKit class 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. } }
时间: 2024-07-30 13:49:52