在评估Javascript时在UIWebview中启用方向

时间:2012-03-03 21:02:15

标签: javascript ipad uiwebview uiinterfaceorientation

当我开始评估javascript时,例如当用户选择文本时,突出显示所选文本。对于那些情况,我无法在iPad中继续使用设备方向并停止方向,并且在javascript完全执行之前它不会处于活动状态。

有没有办法在不影响uiwebview方向的情况下处理uiwebview中javascript的评估。

1 个答案:

答案 0 :(得分:0)

确定。 当你启动你的javascript时,你可以设置一个boolean var并用你的UIViewController的当前方向设置一个var(你的UIViewController实例中的两个vars), 然后在你的UIViewController中你必须实现这个方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return YES;
}

这是告诉iPhone用户旋转设备时是否可以旋转应用程序的方法。

所以,当你的javascript启动时:

// BOOL stopRotation; //在yourViewController.h中声明它 stopRotation = TRUE; // UIInterfaceOrientation * currentOrientationFrozen; //在yourViewController.h中声明它 currentOrientationFrozen = self.interfaceOrientation;

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        if (stopRotation){
             if (interfaceOrientation == currentOrientationFrozen) {
                 return YES;
             } else {
                 return NO;
             }
        } 
        return YES;

    }

然后,当你的javaScript停止时,恢复你的BOOL和currentOrientationFrozen:

stopRotation = FALSE;
currentOrientationFrozen = nil;