UISearchDisplayController

//
//  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.
    }
}

 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/p/4183777.html

时间: 2024-09-09 02:36:17

UISearchDisplayController的相关文章

使用UISearchDisplayController

使用UISearchDisplayController 虽然UISearchDisplayController名字中带有controller,可他不是一个UIView相关的controller,因为,切换显示UISearchDisplayController的时候,它并没有在UIWindow中加载(UIWindow一次只能加载一个controller,所以可以证明它不属于controller). 可以看看,他是继承自NSObject,是多个控件组合在一起的一个东西. 以下是使用时的效果图: 源码

UISearchBar和UISearchDisplayController

原文 http://hi.baidu.com/happywilma0118/item/e6d5730a499bba1b3a53eef8  UISearchBar继承自UIView.UIResponder.NSObject   属性: autocapitalizationType----自动对输入文本对象进行大小写设置(包含4种类型,但是有时候键盘会屏蔽此属性)  autocorrectionType----自动对输入文本对象进行纠错.  backgroundImage----searchbar的

iOS中的两种搜索方式UISearchDisplayController和UISearchController

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 以前iOS的搜索一般都使用UISearchDisplayController来完成,不过自从iOS 8.0开始,该控制器被标记为废弃,我们可以在iOS 8.0之后使用一个新的搜索控制器UISearchController来完成搜索. 本篇博文将介绍以上2种搜索控制器的简单用法,并比较它们的区别.Let't Go! UISearchDisplayControll

iOS应用中UISearchDisplayController搜索效果的用法_IOS

新建Navigation-based Project.打开.xib文件,拖一个Search Bar and Search DisplayController 对象到Table View对象上方,如下图所示,选中File's Owner ,打开Connections面板: 现在我们来创建Search Bar和SearchDisplay Controller的出口.打开Assistant Editor,按住ctrl键,将SearchDisplay Controller拖到ViewController

开源中国iOS客户端学习 (一) Prefix.pch文件

当我们新建一个工程的时候,在Supporting FIles文件下会看到一个以  -Prefix.pch结尾文 件的文件,pch全称是"precompiled header",也就是预编译头文件,该文件里存放的工程中一些不 常被修改的代码,比如常用的框架头文件,这样做的目的提高编译器编译速度.我们知道当我们修改一 个工程中某个文件代码时候,编译器并不是重新编译所有所有文件,而是编译改动过文件的,假如pch 中某个文件修改了,那么pch整个文件里包含的的其他文件也会重新编译一次,这样就会

IOS 9人机界面指南(4):UI元素

  4.1 栏 4.1.1 状态栏 状态栏展示了关于设备及其周围环境的重要信息. 默认(深色)内容 浅色 状态栏: 是透明的 始终固定在整个屏幕的上边缘 不要创建自定义状态栏. 用户依赖系统默认状态栏的一致性.就算你可能会在应用中隐藏它,也不宜定制一个新的UI来代替原有系统状态栏. 避免滚动内容直接透过状态栏显示. 你不会希望用户在滚动的时候看到五花八门的内容和状态栏自身的元素混合在一起.想要让用户感受到内容区域够大的同时,最大限度地保证可读性,请保证在状态栏后面添加一块背景,用以模糊出现在状态

iOS开发系列--UITableView全面解析

概述 在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信.QQ.新浪微博等软件基本上随处都是UITableView.当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论.今天的主要内容包括: 基本介绍 数据源 代理 性能优化 UITableViewCell 常用操作 UITableViewController MVC模式 基本介绍 UITableView有两种风格:UITableViewSt

iOS7 兼容适配 如何判断版本号

很多时候我们需要做不同版本的适配,所以首先要进行版本选择 方式一 <span class="line-number" style="color: inherit !important;">1</span> <span class="line-number" style="color: inherit !important;">2</span> <span class=&qu

iOS 开发库(iOS Developer Library)

iOS 开发库(iOS Developer Library) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 以下为详尽部分,如感觉过于冗长,可移步<iOS 开发库概要(iOS Devel