当搜索栏获得焦点时,搜索栏和键盘之间有一个黑色透明 View ,就像在 iPhone 电子邮件应用程序中,当你想搜索一封电子邮件时,你先点击搜索栏,有一个黑色透明 View 出现。当您输入一些单词时,将出现一个结果 TableView 。如果您点击 View ,键盘将关闭,搜索字段将失去焦点。
现在,我想更改此 View 的颜色,例如更改为红色透明 View 。我已经通过使用 inputAccessoryView 进行了尝试。但是它下面还有一个黑色的,我必须为它添加点击 Action 。
有没有属性可以修改呢?
最佳答案
我自己找到答案。
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;
}
}
好像很隐秘,不知道苹果是否允许或者支持我们改。也许它不鼓励我们像上面那样做。但它可以解决我的问题。
关于ios - 修改搜索栏获得焦点时 UISearchBar 和键盘的背景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19490433/