0

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

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

有什么属性可以编辑吗?

4

1 回答 1

2

我自己找到答案。

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;
    }
}

好像很隐秘,不知道苹果是否允许或者支持我们改。也许它不鼓励我们像上面那样做。但它可以解决我的问题。

于 2013-10-28T12:01:51.680 回答