уверен.когда вы запускаете свой javascript, вы можете установить логический var и установить var с текущей ориентацией вашего UIViewController (обе переменные в вашем экземпляре UIViewController), тогда в вашем 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;