1
fmfsaisai 2011-10-21 02:05:28 +08:00
UIInterfaceOrientation interfaceOrietation = [[UIApplication sharedApplication] statusBarOrientation];
|
2
fordragon OP @fmfsaisai 木用
我需要把单单这个视图直接锁屏仅以横屏呈现 shouldAutorotateToInterfaceOrientation已经定义过 return UIInterfaceOrientationIsLandscape(interfaceOrientation); 这时候nslog出来的一直是定义好的landscape 我需要的是设备的真实方向⋯⋯ |
3
Kai MOD @fordragon 是要读取的时候强制设备到某个 Orientation ?
或者可以通过当前 super.view.size.width >? super.view.size.height 来判断? |
4
fordragon OP @Kai 这个webView先做单屏。html里的判断屏幕翻转的js在webview内部失效,所以我需要从app端获取当前屏幕的状态来传递消息
因为html5里在设备横屏和竖屏情况下判断设备左右旋转的参数不是同一个轴,所以要这么做 |
5
fordragon OP @Kai 如果像一些游戏一样,固定landscapeLeft,那么我甚至需要从设备端得出orientation的四种状态⋯⋯四种方向的旋转参数都不同,要分别设置 昏了要。
|
6
Kai MOD @fordragon 加载 webView 的 view controller 不可以在 webView 读取数据之前获得 orientation 信息么?
|
8
fordragon OP @Kai 我那个网页demo里有,如果shouldAutorotateToInterfaceOrientation直接return YES的话允许自动翻屏的话。。。
if portrait alpha; else if landscapeLeft beta-90 else if landscapeRight (-beta)+90 else if portraitupsidedown -alpha 四种情况... |
9
fordragon OP @Kai 载入webView我是做了入屏判断的。入屏时那个orientation直接写死就ok,但是设备-90/+90后哪怕设置画面不转动,依旧需要得到设备方向信息,因为js里的参数是根据物理设备来的
实际上我最郁结的是webApp里正常的玩意丢到webView里要搞这么多花样。 |
10
Kai MOD 囧
|
11
BB9z 2011-10-21 08:44:12 +08:00
window.onorientationchage = function(){
alert(window.orientation); } 你Google了吗? |
12
BB9z 2011-10-21 08:47:49 +08:00
SDK编程可以在shouldAutorotateToInterfaceOrientation 里 post 方向变化的 notification,但我不知道怎么能让 webView 里的脚本 observer。
|
13
fordragon OP @BB9z js里判断onorientationchage我在纯网页端已经写好了,iOS上safari看已经是想要的效果,但是这个网页是要内嵌在app内的,放进去后发现这些代码已经失效⋯⋯
|