在iOS中,实现点击搜索结果隐藏搜索结果的方法。

本文探讨了一个在实现搜索功能时遇到的问题:点击搜索结果导致其他内容被遮挡。通过为按钮添加事件监听并发布取消搜索的通知,实现了在点击搜索结果时隐藏搜索结果的功能,提升了用户体验。

不知道有没有别的什么的好的方法,最近在实现一个需求(点击搜索,然后输入搜索内容,显示搜索出来的结果,然后点击搜索结果,在当前页面显示所点击的结果的详细的信息)。遇到的问题是,点击搜索结果的时候,搜索的结果不隐藏,那么你就看不到被它挡着的东西了。

解决办法是

 for (id view in subViews) {     

       if ([view isKindOfClass:[UIButton class]]) {

            UIButton *cancelButton = (UIButton *)view;

             [cancelButton setTitle:@"取消" forState:UIControlStateNormal];

            //  获取点击"取消"button的响应事件(actionsForTarget 这种方法返回的是一个数组)

            self.cancelSearchSELString = [[cancelButton actionsForTarget:mySearchBar forControlEvent:UIControlEventTouchUpInside] objectAtIndex:0];

            //  响应通知,运行方法直接用上面获得的响应事件方法,转换一下(这是个知识点,能够扩展下)

            [[NSNotificationCenter defaultCenter] addObserver:mySearchBar selector:NSSelectorFromString(self.cancelSearchSELString) name:@"cancelSearch" object:nil];

        }

    }

 

 

然后在点击事件中

 [[NSNotificationCenter defaultCenter] postNotificationName:@"cancelSearch" object:nil];

            //  公布---响应---取消通知

            [[NSNotificationCenter defaultCenter] removeObserver:mySearchBar name:@"cancelSearch" object:nil];

 就行了。

转载于:https://www.cnblogs.com/mudy/p/4950492.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值