在ios7中获取视图底部的黑色阴影条

在ios7中获取视图底部的黑色阴影条,ios7,ios7.1,Ios7,Ios7.1,我正在做一个应用程序。我使用下面的代码来停止覆盖我视图中的状态栏 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { self.window.clipsToBounds = YES; [[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackOpaque]; UIInterfaceOrienta

我正在做一个应用程序。我使用下面的代码来停止覆盖我视图中的状态栏

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
{
    self.window.clipsToBounds = YES;
    [[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackOpaque];

    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    if(orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight)
    {
        self.window.frame =  CGRectMake(20, 20,self.window.frame.size.width-20,self.window.frame.size.height);
        self.window.bounds = CGRectMake(20, 0, self.window.frame.size.width, self.window.frame.size.height);
    } else
    {
        self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
        self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height);
    }
}
但如果我这样做,我会在模拟器的视图底部看到黑色的透明条。但在设备中,我看到的是黑色。它在ios6中正常工作,唯一的问题是IOS7如下所示


我在一个带有默认导航栏的演示中运行了你的代码,发现同样的黑色内容出现了。所以做了一些改变,下面是一个工作-

if(orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight)
{
    self.window.frame =  CGRectMake(0, 0,self.window.frame.size.width,self.window.frame.size.height);
    self.window.bounds = CGRectMake(0, 0, self.window.frame.size.width, self.window.frame.size.height);
} else
{
    self.window.frame =  CGRectMake(0,0,self.window.frame.size.width,self.window.frame.size.height);
    self.window.bounds = CGRectMake(0, 0, self.window.frame.size.width, self.window.frame.size.height);
}
你可以试一试,如果有什么事,告诉我