当我开始评估javascript时,例如当用户选择文本时,突出显示所选文本。对于那些情况,我无法在iPad中继续使用设备方向并停止方向,并且在javascript完全执行之前它不会处于活动状态。
有没有办法在不影响uiwebview方向的情况下处理uiwebview中javascript的评估。
答案 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;