gpt4 book ai didi

iphone - ios7 UINavigationBar 一段时间后停止在状态栏下延伸

转载 作者:行者123 更新时间:2023-12-03 18:30:33 25 4
gpt4 key购买 nike

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

问题出在我的导航栏自定义背景上。
背景图像(或导航栏本身)在状态栏下随机停止扩展(在我的应用程序启动几秒钟后或当我在其上呈现/关闭模态导航 Controller 时)。我的自定义图像具有适合 iOS 的尺寸 (640x128px)。

<强>1。初始外观(所需 - 自定义 640x128px 背景在状态栏下很好地延伸):

enter image description here

<强>2。过了一会儿(自行闪烁):

enter image description here

什么可能导致 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 文件中我的状态栏设置:

enter image description here

我的 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;
}

我的 View Controller 嵌入在 UINavigationController 中(它负责 UINavigatioBbar 定位)。我还使用 ECSlidingViewController (显示容器)作为导航 Controller 的容器,但我不确定这是否重要。

最佳答案

事实证明,我正在更改导航 Controller 导航栏(应用程序中的某个位置)的 clipsToBounds = YES:

navigationController.navigationBar.clipsToBounds = YES;

为了让UINavigationBar在状态栏下扩展其背景其clipsToBounds必须设置为NO(这是默认值)。确保你没有用它来 mock 。

解决方案简单如下:

navigationController.navigationBar.clipsToBounds = NO;

关于iphone - ios7 UINavigationBar 一段时间后停止在状态栏下延伸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991861/

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