ios7 UINavigationBar在一段时间后停止在状态栏下扩展

卢卡斯

首先-这不是关于导航栏重叠状态栏(与其他许多栏一样)的问题。(我的导航控制器的)UINavigationBar完全按照我的要求对齐。

问题出在我的导航栏自定义背景上。
背景图片(或导航栏本身)在状态栏下随机停止消耗(在我的应用程序启动几秒钟后,或者当我在其上显示/关闭模式导航控制器时)。我的自定义图片具有适用于iOS的适当尺寸(640x128px)。

1.初步外观(希望-640x128px的自定义背景在状态栏下很好地延伸):

在此处输入图片说明

2.过一会儿(自身闪烁):

在此处输入图片说明

什么会导致UINavigationBar背景图像的这种随机闪烁?

我使用以下代码配置背景:

    // Load resources for iOS 7 or later
    [[CustomNavigationBar appearance] setBackgroundImage:[self imageNamed:@"bg_top_ios7.png"] forBarMetrics:UIBarMetricsDefault];
    [[CustomNavigationBar appearance] setBackgroundImage:[self imageNamed:@"bg_top_ios7.png"] forBarMetrics:UIBarMetricsDefaultPrompt];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

我的状态栏设置在Info.plist文件中:

在此处输入图片说明

我的UIViewController子类init方法中也有以下设置(不确定是否重要):

-(id)init{
//DLog(@"BaseViewController init...");
    if (self = [super init]) {

        popToRoot = modal = NO;
        rootIndex = 0;
        indexInBottomNavigation = 0;
        [Crashlytics setObjectValue:@"init" forKey:NSStringFromClass([self class])];


        // iOS 7 adoptions:
        if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
            self.edgesForExtendedLayout = UIRectEdgeNone;

        if ([self respondsToSelector:@selector(extendedLayoutIncludesOpaqueBars)])
            self.extendedLayoutIncludesOpaqueBars = YES;

        if ([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)])
            self.automaticallyAdjustsScrollViewInsets = NO;


    }
    return self;
}

我的视图控制器嵌入在UINavigationController中(它负责UINavigatioBbar的定位)。我还将ECSlidingViewController(显示容器)用作导航控制器的容器,但不确定是否重要。

卢卡斯

原来,我正在更改clipsToBounds = YES导航控制器的导航栏(在应用程序中的某个位置):

navigationController.navigationBar.clipsToBounds = YES;

为了UINavigationBar在状态栏下扩展其背景,必须将clipsToBounds设置为NO(默认设置)。确保您不要嘲笑它。

解决方案很简单:

navigationController.navigationBar.clipsToBounds = NO;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS7隐藏状态栏

来自分类Dev

iOS7导航栏+状态栏文本颜色

来自分类Dev

iOS7导航栏+状态栏文本颜色

来自分类Dev

UINavigationController包含,iOS7和状态栏。虫子?

来自分类Dev

Snapchat更新状态栏iOS7更新

来自分类Dev

状态栏在iOS7中重叠内容

来自分类Dev

状态栏与iOS7中的视图重叠

来自分类Dev

iOS7状态栏,例如本地天气应用

来自分类Dev

切换ios7状态栏

来自分类Dev

ios7状态栏行为异常

来自分类Dev

Intel XDK,更改iOS7状态栏颜色

来自分类Dev

一段时间后如何在iOS中停止后台服务

来自分类Dev

ios 7.1上的ibeacon-一段时间后应用停止收听信标

来自分类Dev

ios7 UINavigationBar backgroundImage颠倒设置

来自分类Dev

iOS7导航栏文字颜色

来自分类Dev

UIScrollView在iOS7上停止滚动

来自分类Dev

更改IOS7状态栏内容的颜色

来自分类Dev

iOS7:UICollectionView出现在UINavigationBar下

来自分类Dev

带iOS7和以前的iOS版本的状态栏注意事项

来自分类Dev

注册或登录iOS7后如何显示标签栏

来自分类Dev

注册或登录iOS7后如何显示标签栏

来自分类Dev

iOS7合并状态栏和工具栏

来自分类Dev

IOS7中的状态栏和导航栏问题

来自分类Dev

向下滑动UIWebView来解决iOS7状态栏覆盖问题后,如何更改UIWebView背景颜色?

来自分类Dev

是否以编程方式在运行中期更改iOS7状态栏颜色?

来自分类Dev

如何在iOS7上设置状态栏样式以点亮内容?

来自分类Dev

IOS7状态栏在选定控制器上隐藏/显示

来自分类Dev

IOS7的幻灯片视图控制器菜单和状态栏问题

来自分类Dev

iOS7全屏uiview ..为什么状态栏消失?