我设置了一个名为BOOL
的{{1}}来检测我的用户何时使用iPad。我用它来做到这一点:
isUsingiPad
当我的应用程序首次启动时,它会检查所使用的设备是否已通过我的注册。如果有,则将用户发送到我的应用程序的主View Controller。但是......当注册用户(使用iPad)注册,关闭应用程序,然后重新打开它时,它们将被发送到iPhone笔尖而不是iPad。我的应用程序中的每个视图都有2个笔尖。一个用于iPhone,另一个用于iPad。有一个View Controller控制每组2.我已经设置代码来处理它是iPhone还是iPad。我的问题是:我应该添加什么来确保用户每次都能访问iPad笔尖?我在哪里添加这个?我可以编辑此问题以包含任何必要的代码。提前谢谢。
修改:更新了UIDevice* userDevice = [UIDevice currentDevice];
if (userDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad) {
isUsingiPad = YES;
}
方法。
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
答案 0 :(得分:1)
这是Apple在应用模板中使用的功能,它在AppDelegates
applicationDidFinishLaunchingWithOptions
中实现:
现在确保您的用户每次都返回到正确的屏幕,具体取决于您的设置,您可能需要在viewDidLoad
或viewDidAppear
中初始化该用户。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];
} else {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
}
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
答案 1 :(得分:1)
为了在通用应用程序中动态加载iPad / iPhone的笔尖,您应该使用以下命名约定: -
这样做你不需要做任何手动加载或if语句。