gpt4 book ai didi

ios8 - searchController 和 searchResultsController 中的 StatusBar 问题 : iOS 8

转载 作者:行者123 更新时间:2023-12-02 04:12:23 25 4
gpt4 key购买 nike

嗨,这是我的问题:

在我的 AppDeleagate 的 didFinishLaunchingWithOptions: 方法中,我有一个方法 [self configureUINavigationControllerSTLyle]; ,它配置我的应用程序的状态栏和所有导航栏外观(我有 UINavigationController和 UITabbarController 在我的应用程序中一起工作)。

-(void) configureUINavigationControllerStlyle {

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;

UINavigationController *navigationController = (UINavigationController *)[tabBarController.viewControllers objectAtIndex:0];

navigationController.navigationBar.translucent = NO;

[[UINavigationBar appearance] setBarTintColor: [CustomColor getAwesomeColor:@"colorBlue3_1"]];

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

[[UINavigationBar appearance] setTitleTextAttributes:@{
NSForegroundColorAttributeName : [UIColor whiteColor],
NSFontAttributeName: [UIFont fontWithName:@"AvenirNext-DemiBold" size:17.0]
}];

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

}

另外,在我的 info.plist 中,我将:查看基于 Controller 的状态栏外观设置为“NO”

一切都运行良好,我的应用程序内的所有 Controller 都有带有蓝色背景和白色文本颜色的状态栏。但不是 uisearchcontroller 和 uisearchresultscontroller。

我的根 TableViewController 看起来像这样:

https://www.dropbox.com/s/oqcozos89x9yqhg/Screen%20Shot%202014-12-11%20at%2016.21.06.jpg?dl=0

我在我的应用程序中集成了 searchController 和 searchResultsController。逻辑运行良好,但我不明白如何处理 searchController 和 searchResultController 内的状态栏外观。他们不使用我在 AppDelegate.m 文件中创建的状态栏样式。

我的 searchController 和 searchResultsController 看起来像这样(状态栏变成白色,状态栏的文本颜色也变成白色,但我需要状态栏与主视图 Controller 中的颜色相同(蓝色背景和白色文本颜色) .

https://www.dropbox.com/s/26skdz7gvehmwl4/Screen%20Shot%202014-12-11%20at%2016.21.16.png?dl=0

另一个错误:当我使用

navigationController.navigationBar.translucent = NO;

在我的 AppDelegate 中 - 在使用搜索 Controller 后从详细 View Controller 返回时,它会导致我的主桌面 View “跳跃或向下拉伸(stretch)”。当我不设置半透明属性时 - 没有“跳跃”。

也许有人知道如何解决在 iOS 8 中使用 searchController 时状态栏颜色问题。

如果我使用默认颜色(不要向我的 AppDelegate 添加任何更改),一切正常,但我需要在我的应用程序中自定义状态栏颜色。

最佳答案

您需要子类化UISearchController并重写preferredStatusBarStyle,如下所示:

- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}

关于ios8 - searchController 和 searchResultsController 中的 StatusBar 问题 : iOS 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27424654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com