首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISearchDisplayController隐藏下降阴影

UISearchDisplayController隐藏下降阴影
EN

Stack Overflow用户
提问于 2012-11-29 20:38:20
回答 2查看 2.5K关注 0票数 4

如果您在一个UISearchBar中仔细查看UISearchDisplayController的底部,您会发现它有一个子块下降阴影。这个阴影不适合我目前正在开发的应用程序的设计,所以我试图删除/隐藏它。不幸的是,我还没有成功。

在我研究这个阴影的过程中,我发现它不是UISearchBar的一部分。当我将UISearchDisplayControllerUISearchBar- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller的超级视图中移除时,阴影仍然是可见的。

阴影原来是UISearchDisplayController's searchResultsTableView的一部分:当我隐藏searchResultsTableView时,阴影就消失了。然而,我一直未能找到这一层上有阴影的观点。我尝试递归地迭代所有可见视图(从[UIApplication sharedApplication窗口]开始),然后隐藏每个视图的下拉阴影,并将其clipsToBounds属性设置为YES,这也没有产生期望的结果。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-30 13:37:27

我终于找到了解决办法。由于将clipsToBounds设置为YES并隐藏层次结构中每个视图的拖放阴影都不起作用,因此很明显,阴影是图像。在遍历searchResultsTableView的所有子视图并打印它们的类属性之后,我发现了_UISearchBarShadowView的一个实例,这显然是罪魁祸首。所以我现在要做的是找到_UISearchBarShadowView并将它的alpha设置为0.0f。

代码语言:javascript
复制
- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView
{
    [self _findAndHideSearchBarShadowInView:tableView];
}

- (void)_findAndHideSearchBarShadowInView:(UIView *)view
{
    NSString *usc = @"_";
    NSString *sb = @"UISearchBar";
    NSString *sv = @"ShadowView";
    NSString *s = [[usc stringByAppendingString:sb] stringByAppendingString:sv];

    for (UIView *v in view.subviews)
    {
       if ([v isKindOfClass:NSClassFromString(s)]) {
            v.alpha = 0.0f;
        }
        [self _findAndHideSearchBarShadowInView:v];
    }
}
票数 3
EN

Stack Overflow用户

发布于 2013-02-18 01:27:13

接受的答案使用一个私有API,这可能会导致应用程序被拒绝。相反,我只需要找到并隐藏同样是UIImageView的自定义子类的任何子视图,如下所示:

代码语言:javascript
复制
- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView
{
    for (UIView *view in tableView.subviews) {
        if ([view.class isSubclassOfClass:[UIImageView class]]) {
            view.alpha = 0.f;
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13634319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档