首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过导航控制器推送时,IIViewDeckController不工作

通过导航控制器推送时,IIViewDeckController不工作
EN

Stack Overflow用户
提问于 2015-10-06 15:05:42
回答 2查看 372关注 0票数 0

请在我的项目中帮助我。我正在使用IIViewDeckController,但它在被视图控制器推送时不起作用

下面是层次结构:

ViewController (推送)-> IIViewDeckController (带Left和centerview)。

以下是我在初始化IIViewDeckController时的代码:

代码语言:javascript
复制
- (IIViewDeckController*)generateControllerStack{

self.navigationView = [[NavigationViewController alloc] initWithNibName:@"NavigationViewController" bundle:nil];
self.profileView = [[ProfileViewController alloc] initWithNibName:@"ProfileViewController" bundle:nil];

UINavigationController* navC = [[UINavigationController alloc] initWithRootViewController:self.profileView];


IIViewDeckController *deckView = [[IIViewDeckController alloc] initWithCenterViewController:navC leftViewController:self.navigationView rightViewController:nil];

deckView.leftSize = 50;

[deckView disablePanOverViewsOfClass:NSClassFromString(@"_UITableViewHeaderFooterContentView")];

return deckView;

}

然后这是我使用另一个ViewController推送IIViewDeckController时的代码

代码语言:javascript
复制
- (IBAction)signInAction:(id)sender {

IIViewDeckController *deckView = [[UIManager sharedItems] generateControllerStack];

[self.navigationController pushViewController:deckView animated:YES];

}

非常感谢大家:)

当我点击登录时,我将按下我的iiviewdeckcontroller左视图和中视图,出现下面的内容

EN

回答 2

Stack Overflow用户

发布于 2015-10-06 15:21:59

你可以这样做。

代码语言:javascript
复制
//Appdelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController"
                                                       bundle:nil];
UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:self.viewController];
self.window.rootViewController = navigation;
[self.window makeKeyAndVisible];
return YES;

}

然后在ViewController.h中导入IIViewDeckController.h

代码语言:javascript
复制
- (IBAction)GoToNext:(id)sender 
{
        IIViewDeckController *objIIVC = [self.storyboard instantiateViewControllerWithIdentifier:@"Your VC's Identifier"];
        [self.navigationController pushViewController:objIIVC animated:YES];

}
票数 0
EN

Stack Overflow用户

发布于 2015-10-06 15:27:54

你是这样创建的吗?我使用它作为根视图控制器。它工作得很好。

代码语言:javascript
复制
    UINavigationController* navController=(UINavigationController*)[[UIStoryboard storyboardWithName:@"Main" bundle: nil] instantiateViewControllerWithIdentifier:@"HomeViewController"];

    SlideMenuViewController* slide=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"SlideMenuViewController"]; /


    IIViewDeckController* deckController =  [[IIViewDeckController alloc] initWithCenterViewController:navController
                                                                                    leftViewController:slide
                                                                                   rightViewController:nil
                                                                                     topViewController:nil
                                                                                  bottomViewController:nil];

    float leftSize=self.window.frame.size.width - (88*self.window.frame.size.width)/320;
    deckController.panningMode = IIViewDeckFullViewPanning;
    deckController.leftSize =leftSize;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32963754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档