试图找出如何拨打电话来触发方向通知?我的意思是,我想打电话检查设备的方向是否已经改变(由我动态变量),然后根据该变量重新定位设备?
我试着打电话给:
[appDelegate.navController supportedInterfaceOrientations];
但它不会触发旋转,但是按照我想要的方式工作。
答案 0 :(得分:0)
我通过这样做解决了我的问题:
AppDelegate.m
-(NSUInteger)supportedInterfaceOrientations
{
if (!self.lockedToOrientation) {
// iPhone only
NSLog(@"default portrait");
if( [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone ){
return UIInterfaceOrientationMaskPortrait;
}
// iPad only
return UIInterfaceOrientationMaskPortrait;
}
else {
NSLog(@"lockedToOrientation");
return self.lockedToOrientation;
}
}
和HomeScreen.m
AppController *appDelegate = [UIApplication sharedApplication].delegate;
const UIInterfaceOrientation ORIENTATION = appDelegate.navController.interfaceOrientation;
appDelegate.navController.lockedToOrientation = ORIENTATION == UIInterfaceOrientationMaskPortrait;
UIViewController *mVC = [[UIViewController alloc] init];
[appDelegate.navController presentModalViewController:mVC animated:NO];
[appDelegate.navController dismissModalViewControllerAnimated:NO];
关于这个过程的想法? Apple会拒绝吗?我听说他们不喜欢改变/强迫定位的一些方法。
干杯。