最近遇到的一个关于iOS屏幕旋转的坑,而且还是自己无意中挖的
来源:互联网 发布:淘宝女款折扣凉鞋 编辑:程序博客网 时间:2024/06/06 16:27
1、背景:公司最近做一个所谓的HTML5版本的APP,说白了就是做一个网页,然后安卓和iOS用webView来加载这个网页。这种情况iOS整个项目就一个ViewController,但是某个页面是需要支持竖屏和横屏的,屏幕旋转为横屏后调用JS让网页适应横屏布局。
2、控制屏幕方向和调用JS方法:
- (NSUInteger)supportedInterfaceOrientations
{
//_isCanChangeOrientation根据网页的链接来赋值YES or NO
if (_isCanChangeOrientation) {
return UIInterfaceOrientationMaskLandscapeLeft|UIInterfaceOrientationMaskLandscapeRight| UIInterfaceOrientationMaskPortrait;
}else{
return UIInterfaceOrientationMaskPortrait;
}
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
switch (toInterfaceOrientation) {
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
//横屏显示的时候,调用JS方法
[_mWebViewstringByEvaluatingJavaScriptFromString:@"setOrientation4H5(\"0\");"];
break;
default:
break;
return UIInterfaceOrientationMaskLandscapeLeft|UIInterfaceOrientationMaskLandscapeRight| UIInterfaceOrientationMaskPortrait;
}else{
return UIInterfaceOrientationMaskPortrait;
}
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
switch (toInterfaceOrientation) {
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
//横屏显示的时候,调用JS方法
[_mWebViewstringByEvaluatingJavaScriptFromString:@"setOrientation4H5(\"0\");"];
break;
default:
break;
}
}
3、坑?
在- (NSUInteger)supportedInterfaceOrientations;这个方法打了一个断点,运行项目,旋转屏幕。发现这个方法只进来一次,而我记得这个方法是设备检测到旋转都会进来的。后来发现是因为ViewController套了一个NavigationViewController,去掉NavigationViewController后,再运行旋转屏幕,每次旋转都进到这个方法了。
}
0 0
- 最近遇到的一个关于iOS屏幕旋转的坑,而且还是自己无意中挖的
- 关于IOS屏幕的旋转问题
- 最近遇到关于mybatis中#与$的一个坑
- iOS屏幕旋转的bug
- iOS屏幕旋转的监测
- 关于屏幕旋转的问题
- 关于屏幕的旋转问题
- 最近遇到一个很蛋疼的问题 关于View的
- 关于ext最近遇到的坑
- 关于最近遇到的各种坑
- iOS传感器:实现一个随屏幕旋转的图片
- ios 关于禁止屏幕旋转问题的解决
- 无意中遇到的bsxfun函数—matlab
- 无意中遇到的bsxfun函数—matlab
- 一个关于android旋转屏幕界面的方法
- 关于最近遇到的一些iOS面试题<1>
- 完美解决 iOS 中只旋转自己想要旋转的屏幕
- 关于自己最近的状态
- 【数据管理和数据库的发展史】唯有源头活水来——数据库学习之路(1)
- nfs 之read分析
- getenv putenv setenv和unsetenv详解 .
- yii中new table() 和使用table::model()区别
- 决策树之 ID3
- 最近遇到的一个关于iOS屏幕旋转的坑,而且还是自己无意中挖的
- 查询oracle中所有用户信息
- eventlet
- gre数学专项考试报名流程整理
- hashtable和hashmap的区别
- JAVA设计模式之单例模式
- setenv与putenv的区别 .
- css初始化代码方案
- TOF-深度传感器技术