HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何模仿UISearchBar在iOS中Safari的行为大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在导航栏的titleView中有一个UISearchBar(它看起来像下面的图片),我想让它像Safari浏览器那样工作.

我没有足够的声誉来发布图片,这里是链接

第一张照片

第二张图片

我想要实现的是:

>在正常状态下,导航栏包含2个左右按钮,一个UISearchBar和该搜索栏内的一个清除按钮(看起来像带有2个加号按钮的第一张照片).
>在搜索状态下,视图被另一个视图替换,当它被关闭时,视图恢复到原始状态.
>适用于iOS 6和7

我知道这可以通过使用UISearchDisplayController,但它不工作.这是我的代码

.h:实现TableView的Datasource / Delegate,UISearchDisplayDelegate,UISearchBarDelegate

.M

-(void) viewDidload
{
    //Add left,right buttons
    self.leftButton = [[UIBarButtonItem alloc] init];
    [self.leftButton setStyle:UIBarButtonItemStylePlain];
    [self.leftButton settitle:@"Button"];
    self.navigationItem.leftBarButtonItem = self.leftButton;

    self.rightButton = [[UIBarButtonItem alloc] init];
    [self.rightButton setStyle:UIBarButtonItemStylePlain];
    [self.rightButton settitle:@"Button"];

    self.navigationItem.rightBarButtonItem = self.rightButton;
    self.searchBar = [[UISearchBar alloc] initWithFrame:self.navigationController.navigationBar.bounds];
    if (DEVICE_IS_IOS7) {
        self.searchBar.searchBarStyle = UISearchBarStyleMinimal;
    }
    self.navigationItem.titleView = self.searchBar;
    self.searchBar.delegate = self;
    //----------------

    self.searchController = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar contentsController:self];
    self.searchController.delegate = self;
    self.searchController.searchResultsDatasource = self;
    self.searchController.searchResultsDelegate = self;
}

    /*
    table implementation
    */

在iOS 7中,UISearchDisplayController(灰色)的视图没有覆盖主视图,resultTable没有重新加载数据,甚至可以过滤搜索字符串. (我不得不使用KVO来显示它)

在iOS 6中,灰色的东西涵盖了所有的屏幕和键盘没有显示(它立即消失).

有人可以帮忙吗
谢谢.

解决方法

我已经做了两次非常类似的UI到你所描述的,最近一个更接近Twitter的iOS 7的UISearchBar行为.如果要在UINavigationBar内显示一个UISearchBar,请忘记这个设置,因为您可能会遇到诸如 this(尽管为 it seems fixed by Apple)的路障.

假的,而不是.隐藏您的UIViewController中的导航栏,并使用高度为64的iOS 7或44 for iOS 6的UIView,并将其放在顶部,以使其看起来一个导航栏.将uISearchBar添加到正常的子视图中,然后根据您的需要在UISearchBarDelegate方法中进行动画化.

大佬总结

以上是大佬教程为你收集整理的如何模仿UISearchBar在iOS中Safari的行为全部内容,希望文章能够帮你解决如何模仿UISearchBar在iOS中Safari的行为所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。