Ios UIStatusBar设置半透明:否避免向下移动内容

Ios UIStatusBar设置半透明:否避免向下移动内容,ios,objective-c,ios7,uinavigationbar,uistatusbar,Ios,Objective C,Ios7,Uinavigationbar,Uistatusbar,我试图使我的UINavigationBar和UIStatusBar不透明,并且没有任何半透明属性。我尝试使用[[UINavigationBar外观]set半透明:否]但这会将视图内容向下移动几个像素。我希望该内容位于UINavigationBar下。有没有一种简单的方法可以做到这一点?首先,半透明属性不能使用ui外观设置。其次,你的条是半透明还是不透明与像素位置的改变没有关系 自定义导航栏的外观 在iOS 7中,导航栏的颜色会影响背面指示器图像、按钮标题和按钮图像的颜色。barTintColor

我试图使我的
UINavigationBar
UIStatusBar
不透明,并且没有任何半透明属性。我尝试使用
[[UINavigationBar外观]set半透明:否]但这会将视图内容向下移动几个像素。我希望该内容位于
UINavigationBar
下。有没有一种简单的方法可以做到这一点?

首先,半透明属性不能使用
ui外观设置。其次,你的条是半透明还是不透明与像素位置的改变没有关系

自定义导航栏的外观


在iOS 7中,导航栏的颜色会影响背面指示器图像、按钮标题和按钮图像的颜色。barTintColor属性会影响条本身的颜色。此外,默认情况下,导航栏是半透明的。关闭或打开半透明不会影响按钮,因为它们没有背景。

在我的IOS应用程序中,我需要在
-(BOOL)应用程序中执行以下操作:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)launchOptions
功能

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
    [application setStatusBarStyle:UIStatusBarStyleLightContent];
    self.window.clipsToBounds =YES;
    self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);

    //Added on 19th Sep 2013
    self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height);
}

此处有更详细的讨论

尝试更改UIViewController的以下属性,以消除iOS7的像素偏移效应


我在使用[[UINavigationBar外观]set半透明:否]时遇到了相同的问题;在AppDelegate.m上。对我有效的方法:在不透明导航栏下的每个ViewController场景中设置“在不透明栏下”(请参见图像)属性


您使用自动布局吗?不,我不使用。我已经为我所有的viewController禁用了它。如果我很好地理解你,你想在iOS7的状态栏下向下移动viewController吗?是的。我希望内容能够在UINavigationBar下滚动。就像在Facebook和Instagram应用程序上一样。他们有不透明的导航条。此外,我正在尝试实现与导航栏相同的移动(上/下)。如果导航栏是不透明的,在导航栏下面放置内容有什么意义?您的内容稍微向下移动的原因是为了让所有内容都可见。这似乎是指导航栏本身的子视图。我说的是UIViewController的实际内容。当在导航栏上调用setTransparent:NO方法时,内容会向下推约64像素。