我在我的应用程序中使用状态栏,并按以下方式使用代码
我的项目包括标签栏控制器。因此,从库中选择图像后,我的状态栏正在改变其位置。它怎么解决了?
请有人帮忙,我浪费了很多时间。
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(0, 0,self.window.frame.size.width-20,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,20,self.window.frame.size.width,self.window.frame.size.height);
self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height);
}
}
先谢谢。
答案 0 :(得分:1)
试试这个:
info.plist
文件中的密钥:
'View controller-based status bar appearance' and set to NO.
同样在appDelegate。
[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleDefault]; // change style as per your requirement
答案 1 :(得分:0)
在iOS7及更高版本中,状态栏是透明的,因此实现此目的的最佳方法是创建一个基本控制器并从中扩展每个控制器,并在viewDidLoad
基本控制器中创建该视图的单个对象(即黑色视图),框架CGRectMake(0, 0, view.frame.size.width, view.frame.size.height)
,带有自动调整大小的宽度,并将其添加为子视图。
答案 2 :(得分:-1)
(void)layoutSubviews {
self.frame = CGRectMake(0, 0, 320, 64);
}