项目从xcode4.6迁移到xcode5.0 中遇到的若干问题
来源:互联网 发布:美工完成工作进度表 编辑:程序博客网 时间:2024/06/07 13:53
公司项目,最近不是很多任务,所以尝试将项目迁移到5.0 。
其实这并不是一件很难的事情,但是因为之前前辈对项目的架构存在一些小问题,所以还是会遇到一些问题。但都是小问题。下面记录下来,以供回忆。
1、首先就是statusBar遮盖view元素的问题。如图:
这个问题如果google一下,真是各种解决方案满天飞,其中有一位女coder的方案,很有趣,当然只针对xib和storeboard的视图。链接:http://blog.csdn.net/rhljiayou/article/details/12029927
对于 xib和storeboard的视图 可以用这个办法很快捷和方便的解决。五星好评一下。
但是代码生成的视图,怎么办呢?只能受累,在需要的地方,手动调整一下frame了。怎么判断iOS版本,怎么调整frame就不多说了(state bar 高度20)。这应该是iOS 程序员必备基本功了吧。。。。。。。。
2、UITableView 背景变成白色了。
原因很简单,In iOS 7, cells have a white background by default。所以,设置一下cell 的background color 就可以了。当然要在 cellForRowAtIndexPath 里进行。
参考:http://stackoverflow.com/questions/18753411/uitableview-clear-background
小技巧:想快速找到项目里所有使用UITableView的地方进行修改? 搜 return cell 就好了。结果的上一行加上 cell.backgroundColor = [UIColorclearColor];
3、最棘手的,至今不知如何解决。navigationBar 如果setBackgroundImage 了。BackgroundImage 错位20像素。如图
正在尝试解决中。。。。
解决了。这个因为iOS7 里的 navigationBar 和 statusBar 是一体的,准确的说,navigationBar的高度比iOS7以前高了20像素,正是StatusBar的高度。所以,如果需要对navigationBar setBackgroundImage,需要准备一个比之前搞20像素的图片,这个图片会铺满从statusBar 到 navigationBar 的位置。
另外,如果没有显示navigationBar,那么statusBar的背景的颜色是跟着当前视图的背景颜色一致的,也就是说iOS7里的statusBar是透明色。具体在我的项目里,希望statusBar的背景样色不要出现大的变化,所以,需要把每个viewController的背景色设置为黑色。另外statusBar的字体颜色,在iOS7里是有几种方案的,具体查SDK里
UIStatusBarStyle ,其中UIStatusBarStyleLightContent是iOS7新加的,记得代码里使用的适合先判断iOS版本。
更改的方法有很多,一种是直接修改全部项目视图statusBar颜色的方法:
在plist里,增加View controller-based status bar appearance 并设置为NO。
然后在AppDelegate 里 ,在 didFinishLaunchingWithOptions 里
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
即可。
另一种是针对单个视图进行具体个性化设置的方法,
在plist里,增加View controller-based status bar appearance 并设置为YES。
在需要设置的View controller里,实现以下两个方法:
- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent;}- (BOOL)prefersStatusBarHidden{ return NO;}
完毕。
- 项目从xcode4.6迁移到xcode5.0 中遇到的若干问题
- vc6下directx8迁移到vs2005中若干问题的解决方案
- 我做的一个web项目从tomcat迁移到weblogic遇到的问题
- 项目从weblogic10.0.2迁移到weblogic10.3.6遇到的问题
- Springmvc 项目从tomcat迁移到weblogic遇到的问题 求大神解 急!!
- 从VS2008+QT4到VS2015+QT5迁移过程中遇到的问题及解决方法
- sqoop从mysql迁移数据到hive中遇到的问题
- 解决xcode4.6升级xcode5.0后,打开项目就崩溃现象问题
- J2ee项目从0搭建(九):将eclipse创建的web项目迁移到Intellij IDEA中运行
- tomcat项目迁移到weblogic过程中遇到的问题(持续更新)
- ArcEngine从 9.3迁移到10遇到的问题
- 手动添加Three20到你的XCode4项目中
- 项目从tomcat向weblogic迁移遇到的一些问题
- 项目从tomcat向weblogic迁移遇到的一些问题
- 项目从intellij idea迁移到eclipse中问题总结
- 项目迁移到Linux WebLogic遇到的问题与解决
- Eclipse项目迁移到Android Studio所遇到的坑
- qt4项目迁移到qt5,遇到的问题及解决办法
- 搜狐新闻客户端后端架构演进和PUSH系统
- 自己动手搭建 Linux 0.12 编译环境 — Makefile
- Oracle百问百答(六)
- static 现在才完全理解
- LinkedList Numbers Add
- 项目从xcode4.6迁移到xcode5.0 中遇到的若干问题
- 计算时间差
- 三星官方解密你所未知的GALAXY S4功能
- 二叉树 遍历 hdu-1710-Binary Tree Traversals
- OCP-1Z0-053-V13.02-36题
- unity实现动态广告牌效果
- 类中静态回调函数应用
- 在linux环境下播放MP3
- 弹性计算云安全现状、反思以及展望-魏兴国