iOS6的程序在iOS7上运行时,界面整体上移了20pix,解决的思路有二:一是运行时选择iOS6的SDK,这样在iOS7上界面与iOS6是一样的,步骤看这里,这样的好处是不用动代码,不过从长远看还是要配合iOS7的风格的。二是修改代码。
在根页面viewDidLoad方法里添加如下代码,就是程序运行的第一个界面。
self.navigationController.navigationBar.translucent = NO;
这样界面正常了,但是我用的导航栏的字体颜色变成了黑色,很不好看。
在导航栏第一次出现的页面viewDidLoad方法里添加如下代码,可以把字体颜色修改成白色。
self.navigationController.navigationBar.titleTextAttributes =
[NSDictionary dictionaryWithObject:[UIColor whiteColor]
forKey:UITextAttributeTextColor];
参考资料:
http://www.myexception.cn/operating-system/1470796.html
http://my.oschina.net/megan/blog/167500
http://stackoverflow.com/questions/19105766/ios-7-status-bar-collides-with-navigationbar?lq=1
http://stackoverflow.com/questions/18294872/ios-7-status-bar-back-to-ios-6-style/19044681#19044681