当搜索字段获得焦点时,修改UISearchBar和键盘之间的背景色

问题描述:

当搜索字段获得焦点时,搜索栏和键盘之间会有一个黑色透明视图,就像在iPhone电子邮件应用程序中一样,当您要搜索电子邮件时,您先单击搜索字段,会出现一个黑色透明视图。当你输入一些单词时,会有一个结果表格视图。如果你点击视图,键盘将关闭,搜索字段将失去焦点。当搜索字段获得焦点时,修改UISearchBar和键盘之间的背景色

现在,我想改变这个视图的颜色,例如改为红色的透明视图。我通过使用inputAccessoryView来尝试它。但是它下面还有一个黑色的,我必须为它添加点击动作。

有没有可以编辑它的属性?

我自己找到答案。

for (UIView *subview in searchBar.superview.subviews) 
{ 
    if ([subview isKindOfClass:NSClassFromString(@"UISearchDisplayControllerContainerView")]) 
    { 
     // in iOS7, this view is the view I want; 
    } 
    if ([subview isKindOfClass:NSClassFromString(@"UIControl")]) 
    { 
     // before iOS7, this view is what I want; 
    } 
} 

这似乎是非常秘密的,我不知道苹果是否允许或支持我们改变它。也许这并不鼓励我们像上面那样做。但它可以解决我的问题。

+0

嗨,我面临同样的问题,我将子视图添加到UISearchDisplayControllerContainerView,想知道您是否成功提交您的应用程序与修改UISearchDisplayControllerContainerView?苹果拒绝了吗? 谢谢! – Johnny

+0

对不起,我在完成项目后找到了答案,所以我无法回答你的问题。 – pingshw