我的标签视图控制器出了问题。我有3个部分,其中两个部分与状态栏配合良好。然而第三个没有。它没有按下标题,你可以看到顶部栏下面的状态栏!
任何帮助都会很棒。这是我的代表,我试图通过调整来完成这项工作 - 但没有什么对我有用。其他人有这个问题吗?
以下是问题的图片:
这是我的委托方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
UINavigationController *navigationController = (UINavigationController *)[[tabBarController viewControllers] objectAtIndex:0];
TreasureLogViewController *treasureLogViewController = (TreasureLogViewController *)[[navigationController viewControllers] objectAtIndex:0];
treasureLogViewController.managedObjectContext = self.managedObjectContext;
navigationController = (UINavigationController *)[[tabBarController viewControllers] objectAtIndex:1];
LocationsViewController *locationsViewController = (LocationsViewController *)[[navigationController viewControllers] objectAtIndex:0];
locationsViewController.managedObjectContext = self.managedObjectContext;
MapViewController *mapViewController = (MapViewController *)[[tabBarController viewControllers] objectAtIndex:2];
mapViewController.managedObjectContext = self.managedObjectContext;
return YES;
}
答案 0 :(得分:1)
1。这就是你需要的: 的 Preventing the Status Bar from Covering Your Views 强>
2。尝试navigationBar.translucent = NO;
(默认为YES
)
来自 Apple's iOS7 TransitionGuide :
iOS 7上的新行为。默认为YES。你可能强迫不透明 通过将属性设置为NO来设置背景。如果导航栏有一个 自定义背景图片,默认是从alpha推断出来的 图像的值为YES,如果它具有alpha <1的任何像素。 1.0如果你 发送setTranslucent:YES为具有不透明自定义背景的栏 它会将小于1.0的系统不透明度应用于图像。如果 您将setTranslucent:NO发送到具有半透明自定义的栏 背景图像它将为图像提供不透明的背景 使用bar的barTintColor(如果已定义),或使用黑色表示UIBarStyleBlack 如果barTintColor为零,则为UIBarStyleDefault或白色。
3。最后,如果其中任何一项无效,请查看 UIBarPositioningDelegate