ECSlidingViewController从XIB加载
问题描述:
我想在我的项目中使用这个ECSlidingViewController。来自链接的示例应用程序使用故事板,但我想从xib加载全部。 我必须在应用程序中实现:didFinishLaunchingWithOptions:执行此操作吗?从示例应用程序ECSlidingViewController从XIB加载
代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
ECSlidingViewController *slidingViewController = (ECSlidingViewController *)self.window.rootViewController;
UIStoryboard *storyboard;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
storyboard = [UIStoryboard storyboardWithName:@"iPhone" bundle:nil];
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboard = [UIStoryboard storyboardWithName:@"iPad" bundle:nil];
}
slidingViewController.topViewController = [storyboard instantiateViewControllerWithIdentifier:@"FirstTop"];
return YES;
}
答
而不是使用故事板来获得的UIViewController的实例,你可以从一个笔尖实例吧:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
ECSlidingViewController *slidingViewController = [[ECSlidingViewController alloc] init];
FirstTopViewController *firstTop = [[FirstTopViewController alloc] initWithNibName:@"FirstTop" bundle:nil];
slidingViewController.topViewController = firstTop;
self.window.rootViewController = slidingViewController
return YES;
}
答
尝试这一点,在我的ENV工作。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.initialViewController = [[InitialViewController alloc] initWithNibName:@"InitialViewController" bundle:nil];
self.window.rootViewController = self.initialViewController;
ECSlidingViewController *slidingViewController = (ECSlidingViewController *)self.window.rootViewController;
FirstViewController *firstController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
slidingViewController.topViewController = firstController;
[self.window makeKeyAndVisible];
return YES;
}
,也不要忘了添加
[self.slidingViewController setAnchorRightRevealAmount:280.0f];
到您的firstviewcontroller的viewWillAppear中的方法。
好运
+0
这是不正确不起作用。它说***终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因:'*** - [__ NSArrayM insertObject:atIndex:]:object can not be nil' – nithinreddy 2013-11-07 08:30:39
如果你尝试上面的代码,你会得到“应用程序预计将有在应用程序启动的最后一个根视图控制器”在Xcode – fyasar 2012-05-15 21:08:00
我编辑我的回答错误不是故事板使用 – 2013-11-16 19:03:11