Mrw*_*lfy 5 xcode statusbar uiview ios6 ios7
我最近发布了一个iOS6应用程序,我需要为iOS 7更新它.新状态栏有点问题.self.view的框架/界限似乎已经改变(+20分),我使用self.view.bounds来确定一些元素的位置.我一直在寻找一些解决方案.基本上我需要更新应用程序,同时仍然支持iOS 6状态栏.这是最好的做法吗?
下面的代码似乎可以检测iOS 7设备并将内容转移到位,但也会导致其他问题.无论如何,我不相信这是最好的方式.
if([[[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."][0] intValue] >= 7) {
CGRect statusBarViewRect = [[UIApplication sharedApplication] statusBarFrame];
float heightPadding = statusBarViewRect.size.height+self.navigationController.navigationBar.frame.size.height;
[myContentView setFrame:CGRectMake(0, heightPadding, self.view.frame.size.width, self.view.frame.size.height - heightPadding)];
}
Run Code Online (Sandbox Code Playgroud)

Nan*_*dha 11
您可以通过在iOS7 SDK中实现名为edgesForExtendedLayout的新属性来实现此目的.请添加以下代码来实现此目的,
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
Run Code Online (Sandbox Code Playgroud)
您需要在 - (void)viewDidLoad方法中添加上述代码.
| 归档时间: |
|
| 查看次数: |
12014 次 |
| 最近记录: |