我一直在开发一个只需要一个视图定位的应用程序,我需要一种方法来检测appdelegate页面中的当前视图
任何人都可以帮助并告诉我这是如何可能的
此致
NEHA
答案 0 :(得分:0)
您可以在此处指定应用支持的方向:
如果您只选择Portrait
,那么您基本上会将您的应用锁定为纵向模式
如果您希望所有viewController
锁定在Portrait
模式但允许多个方向指向单个/所选viewController
(s),那么您可以快速实现此修复:
允许多个方向的 viewController
:
-(void)viewWillAppear:(BOOL)animated
{
[[NSUserDefaults standardUserDefaults] setObject:@(YES)
forKey:@"allowLandscape"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
-(void)viewWillDisappear:(BOOL)animated
{
[[NSUserDefaults standardUserDefaults] setObject:@(NO)
forKey:@"allowLandscape"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
在 AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//...
//default setting when app starts
[[NSUserDefaults standardUserDefaults] setObject:@(NO)
forKey:@"allowLandscape"];
[[NSUserDefaults standardUserDefaults] synchronize];
//...
}
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"allowLandscape"] boolValue]) {
return UIInterfaceOrientationMaskAllButUpsideDown;
}
return UIInterfaceOrientationMaskPortrait;
}