3

我使用嵌入到 UiTableViewController 的 UISearchDisplayController 在我的表格视图中创建一个搜索栏。但是如果我设置搜索栏的背景图片,范围栏不会在搜索模式下显示,而是显示一个黑条。这很奇怪,因为它不会发生在 iOS 6 中。

请注意,我用来设置搜索栏背景图像的图像是 640x90 像素,如果使用其他图像,范围栏会以某种方式显示。

即使我设置了范围栏背景图像,它仍然不会显示取决于搜索栏的图像设置。

我认为这是iOS 7中的一个错误,为了防止其他因素,我什至使用Xcode 5中的主从模板,并将UISearchDisplayController嵌入到主视图控制器中,更改搜索栏背景图像和范围栏在搜索中显示为黑色模式。

我认为这与 iOS 7 视图控制器的自动调整大小有关。太烦我了。

有人请尝试和帮助。非常感谢。

------------------------------已编辑------------------- ------- 如果我更改搜索栏背景图像,有时范围栏会显示,但在真实设备(iPhone5)中,范围栏从不显示。

4

2 回答 2

2

我刚刚在这里找到了一个解决方案:IOS7 Status bar change to black after search is active

只需将这两行放在您的表视图控制器(viewDidLoad)上:

self.navigationController.view.backgroundColor = [UIColor whiteColor]; 

self.navigationController.navigationBar.translucent = NO;

其中“whiteColor”是状态栏所需的颜色。

于 2013-12-11T11:27:24.007 回答
0

我已经通过使用 UISearchBar 外观解决了这个问题:

[[UISearchBar appearance] setBackgroundImage:bgImage forBarPosition:UIBarPositionTopAttached barMetrics:UIBarMetricsDefault];
于 2014-07-25T14:03:52.460 回答