IOS7 遇到的一些 frame适配 问题以及解决
来源:互联网 发布:淘宝美工怎么转前端 编辑:程序博客网 时间:2024/05/21 08:39
1. 隐藏tabbar出现黑色区域的问题。
IOS7下,想做成tabbar向下滑动隐藏的效果,结果原来的tabbar的地方留下一块黑色区域,网上找了很多办法都没有解决,让我痛恨。无奈,自己定制了一个tabbar来实现滑动隐藏,效果还不错。
2. 打开相册和相机时状态栏不隐藏的问题
IOS7要隐藏状态栏,需要在info.plist文件中添加View controller-based status bar appearance ,并且把值设置为NO。
但是打开相册或相机的时候,状态栏还是透明显示出来了,在网上找了一下解决方案,终于解决了。
在使用了UIImagePickController的controller里或者UIImagePickController的子类里添加如下代码。其中JKIsIOS7OrLater()是判断当前设备的版本号是不是ios7。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if (JKIsIOS7OrLater()) {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
}
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if (JKIsIOS7OrLater()) {
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
}
}
BOOL JKIsIOS7OrLater(void)
{
if ([[[UIDevice currentDevice] systemVersion] floatValue]>= 7.0) {
return YES;
} else {
return NO;
}
}
3. IOS7 UIVIewController 的view的高度问题
devdiv上有这样一段
之前的版本中UIViewController中的view在显示后会自动调整为去掉导航栏的高度的。这样我们摆放控件的时候就会在导航栏的下面显示。但是在iOS7中UIViewController的wantsFullScreenLayout已经被舍弃了,不再提供此属性,所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的应用界面中的部分控件会被导航栏覆盖掉。
要解决这中情况可以使用iOS7中UIViewController新增的属性extendedLayoutIncludesOpaqueBars和edgesForExtendedLayout来解决。其中这个属性指定了当Bar使用了不透明图片时,视图是否延伸至Bar所在区域,默认值时NO。而edgesForExtendedLayout则是表示视图是否覆盖到四周的区域,默认是UIRectEdgeAll,即上下左右四个方向都会覆盖,那么为让顶部不进行延伸到导航栏覆盖的区域,我们可以把顶部区域延伸去掉。实现代码如下:
self.extendedLayoutIncludesOpaqueBars = NO;
self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight;
我在做的时候发现viewDidLoad的时候view的高度还是全屏,viewWillAppear已经去掉navigationbar了,所以frame的设置放在了viewWillAppear中比较准确。
- IOS7 遇到的一些 frame适配 问题以及解决
- iOS7适配遇到的一些问题
- iOS7适配遇到的一些问题
- iOS7适配遇到的一些问题
- iOS7适配遇到的一些问题
- iOS7适配遇到的一些问题
- iOS7适配遇到的一些问题
- elasticsearch中遇到的一些问题以及解决方式
- ios7遇到的问题
- 在ios7开发中遇到的一些deprecated的问题
- iOS7 UI改变总结 & iOS7适配遇到的一些问题
- IOS7 NavigationBar 遇到的问题
- UITextField遇到的一些问题以及解决方法
- 最近遇到的一些问题以及解决方案
- XRecyclerview用法以及遇到的一些问题
- evc升级到vs2005遇到的一些问题以及解决的方法
- extjs遇到的问题以及解决方式
- Opengl编程遇到的问题以及解决
- 情商的重要性
- ASP.NET TextBox 当鼠标点击后清空默认提示文字
- 学习jQuery的免费资源:电子书、视频、教程和博客
- 自定义的Button片段
- Spring Sample
- IOS7 遇到的一些 frame适配 问题以及解决
- 法律事务工作平台分析1
- windows 如何查看端口占用情况?
- 开源精神
- 插值方法
- “那些”题之图形学
- Linux 的启动流程
- 使用C#控制远程计算机的服务
- 提高ASP.NET网站性能的方法