ios - 如何在导航栏动画期间删除不需要的黑色区域。屏幕截图

标签 ios uinavigationcontroller ios7 uinavigationbar transparency

我有一个 View Controller ,其中导航栏是透明的。我的下一个 View 是表格 View ,其中导航栏是白色的。

为了停止不需要的动画,我在表格 View 的“viewDidDissapear”中将导航栏设置为透明。不幸的是,当我向后导航时,这给我留下了下面的图像(向前导航时更糟)。有谁知道如何摆脱黑色区域?

This shows the unwanted black area

-(void)viewWillDisappear:(BOOL)animated     {


[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                                              forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;


[super viewWillDisappear:NO];

}

这是我在表格 View Controller 中使用的代码。

最佳答案

正如你所说,不需要的动画,。我建议您在 tableViewController 的两个 (presentViewController 和 dismissViewController) 中设置 (animated:NO) ......并在两个 Controller 的 viewWillAppear 中设置导航栏.. 我认为最好和容易..

关于ios - 如何在导航栏动画期间删除不需要的黑色区域。屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19634448/

相关文章:

objective-c - 将文件从临时目录复制到资源文件夹

ios - 使用单个 ViewController 动态切换设备方向

swift - 在 Swift 中没有导航 Controller 的情况下在 viewDidLoad() 中执行 segue

ios - 在 App iOS 7 中使用用户墙纸作为背景

ios - SKSpriteNode - 如何写入构成 Sprite 图像的像素?

ios - UIImage 的质量

ios - "ProjectName-Swift.h"找不到文件 - 共享扩展

ios - JSON 到 NSDictionary 文字

ios - 为每个 View Controller 指定后退按钮的行为

ios - 如何从应用程序内部找到安装了我的应用程序的手机? IOS 7