我使用嵌入到UiTableViewController的UISearchDisplayController在我的表视图中创建一个搜索栏。但是,如果我设置搜索栏的背景图像,则范围栏不会在搜索模式下显示,而是显示黑条。这很奇怪,因为在iOS 6中不会发生这种情况。
请注意,我用来设置搜索栏背景图像的图像是640x90像素,如果使用其他图像,不知何故范围栏会显示。
即使我设置了范围栏背景图像,它也不会显示取决于搜索栏的图像设置。
我认为这是iOS 7中的一个错误,为了防止出现其他因素,我甚至在Xcode 5中使用了master-detail模板,并在主视图控制器中嵌入了UISearchDisplayController,更改了搜索栏背景图像和范围栏显示在搜索模式下黑色。
我认为这与iOS 7自动调整视图控制器大小有关。让我很烦恼。
有人请尝试帮忙。非常感谢。
------------------------------编辑---------------- ---------- 有时,范围栏会显示我是否更改了搜索栏背景图像,但在实际设备(iPhone5)中,范围栏从不显示。
答案 0 :(得分:2)
我刚刚在这里找到了一个解决方案:IOS7 Status bar change to black after search is active
只需将这两行放在表视图控制器(viewDidLoad)上:
self.navigationController.view.backgroundColor = [UIColor whiteColor];
self.navigationController.navigationBar.translucent = NO;
其中“whiteColor”是状态栏所需的颜色。
答案 1 :(得分:0)
我已使用UISearchBar外观解决了这个问题:
[[UISearchBar appearance] setBackgroundImage:bgImage forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];