首页 > 手机专区 > 苹果手机 >

iOS UISearchBar简单使用与代理详解

来源:互联网 2023-02-21 17:15:24 276

UISearchBar代理方法的合理使用能够在很大一定程度上减少功能实现的复杂性,理解代理方法的具体响应时机和用法,能够让我们快速实现需求。r4Y办公区 - 实用经验教程分享!

工具/原料

  • Xcode

方法/步骤

  • 1

    一般SearchBar会设置成员变量或者声明属性方便进行全局访问,先定义一个r4Y办公区 - 实用经验教程分享!

    UISearchBar的属性,并且遵循UISearchBarDelegate的代理,如下:r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

  • 1该信息未经许可获取自百度经验
  • 2

    在viewDidLoad加载时实例化UISearchBar,设置显示位置,代理以及相关的UI,如下:r4Y办公区 - 实用经验教程分享!

    self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH , 40)];r4Y办公区 - 实用经验教程分享!

    self.searchBar.backgroundColor = [UIColor grayColor];r4Y办公区 - 实用经验教程分享!

    self.searchBar.placeholder = @"请输入搜索内容";r4Y办公区 - 实用经验教程分享!

    self.searchBar.delegate = self;r4Y办公区 - 实用经验教程分享!

    [self.view addSubview:self.searchBar];r4Y办公区 - 实用经验教程分享!

    UITextField *searchTextField = [self.searchBar valueForKey:@"_searchField"];r4Y办公区 - 实用经验教程分享!

    searchTextField.font = [UIFont systemFontOfSize:15];r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

  • 3

    一般搜索界面会在一进入界面之后就将键盘弹出,这样方便用户做搜索处理,可以在viewDidAppear方法中将定义的self.searchBar变为第一响应者,如下:r4Y办公区 - 实用经验教程分享!

    - (void)viewDidAppear:(BOOL)animatedr4Y办公区 - 实用经验教程分享!

    {r4Y办公区 - 实用经验教程分享!

    [super viewDidAppear:animated];r4Y办公区 - 实用经验教程分享!

    [self.searchBar becomeFirstResponder];r4Y办公区 - 实用经验教程分享!

    }r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

  • 4

    UISearchBarDelegate下有相应的代理,在合适的代理方法里面可以实现我们大部分的需求定制化,代理为@optional可选,如下:r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

  • 5

    UISearchBarDelegate代理方法:r4Y办公区 - 实用经验教程分享!

    - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchTextr4Y办公区 - 实用经验教程分享!

    {r4Y办公区 - 实用经验教程分享!

    r4Y办公区 - 实用经验教程分享!

    }r4Y办公区 - 实用经验教程分享!

    可以在我们改变搜索框内容的时候实时响应,在这里可以进行本地数据筛选或者网络数据请求筛选。r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

  • 6

    UISearchBarDelegate代理方法:r4Y办公区 - 实用经验教程分享!

    - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBarr4Y办公区 - 实用经验教程分享!

    {r4Y办公区 - 实用经验教程分享!

    r4Y办公区 - 实用经验教程分享!

    }r4Y办公区 - 实用经验教程分享!

    - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar __TVOS_PROHIBITEDr4Y办公区 - 实用经验教程分享!

    {r4Y办公区 - 实用经验教程分享!

    r4Y办公区 - 实用经验教程分享!

    }r4Y办公区 - 实用经验教程分享!

    SearchButtonClicked与CancelButtonClicked分别代表点击搜索按钮和点击取消按钮时的响应,我们可以在这里进行键盘回收等需求操作。r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

  • 7

    UISearchBarDelegate代理方法:r4Y办公区 - 实用经验教程分享!

    - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBarr4Y办公区 - 实用经验教程分享!

    {r4Y办公区 - 实用经验教程分享!

    return YES;r4Y办公区 - 实用经验教程分享!

    }r4Y办公区 - 实用经验教程分享!

    返回值设置为布尔值,当设置为NO的时候搜索框是无法进行编辑的,必须设置为YES才能响应键盘。r4Y办公区 - 实用经验教程分享!

    iOS UISearchBar简单使用与代理详解r4Y办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!r4Y办公区 - 实用经验教程分享!


    标签: XCODEios苹果简单使用

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码