当搜索栏获得焦点时,搜索栏和键盘之间会出现一个黑色透明视图,就像在 iPhone 电子邮件应用程序中一样,当您要搜索电子邮件时,首先单击搜索栏,会出现一个黑色透明视图。当您输入一些单词时,将会有一个结果表视图。如果您点击视图,键盘将关闭,搜索字段将失去焦点。
现在,我想更改此视图的颜色,例如更改为红色透明视图。我已经通过使用 inputAccessoryView 进行了尝试。但是它下面还有一个黑色的,我必须为它添加点击动作。
有什么属性可以编辑吗?
当搜索栏获得焦点时,搜索栏和键盘之间会出现一个黑色透明视图,就像在 iPhone 电子邮件应用程序中一样,当您要搜索电子邮件时,首先单击搜索栏,会出现一个黑色透明视图。当您输入一些单词时,将会有一个结果表视图。如果您点击视图,键盘将关闭,搜索字段将失去焦点。
现在,我想更改此视图的颜色,例如更改为红色透明视图。我已经通过使用 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;
}
}
好像很隐秘,不知道苹果是否允许或者支持我们改。也许它不鼓励我们像上面那样做。但它可以解决我的问题。