1

Viewdeck 有个小问题。

我想用导航栏推送我的导航视图。我现在正在做(下面的代码),但它在没有导航栏的情况下推动。

    [self.viewDeckController closeLeftViewBouncing:^(IIViewDeckController *controller)
     {  
    DataViewController *DataController = [[DataViewController
                                           alloc]  initWithNibName:@"DataViewController" bundle:nil];
    DataController.modalPresentationStyle = UIModalPresentationFormSheet;


    DataController.ID = @"hello";

     self.viewDeckController.centerController = DataController;
}];

也试过:

        UIViewController *viewController = [[DataViewController alloc] init];
        UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
        navigationController.modalPresentationStyle = UIModalPresentationFormSheet;


            DataViewController *DataController = [[DataViewController
                                                   alloc]  initWithNibName:@"DataViewController" bundle:nil];
            DataController.modalPresentationStyle = UIModalPresentationFormSheet;


            DataController.ID = @"hello";

             self.viewDeckController.centerController = DataController;
4

2 回答 2

5

您的第一个代码块朝着正确的方向前进,但是您没有使用实际的 UINavigationController。我将假设您的 UIViewController 类是 DataViewController,因此应该执行以下操作:

DataViewController *dataController = [[DataViewController alloc] initWithNibName:@"DataViewController" bundle:nil];
UINavigationController *dataNavigationController = [[UINavigationController alloc] initWithRootViewController:dataController];

将您想要的任何数据传递给它(我看到您将 ID 属性设置为 @"hello" - 我会忽略它)。然后,在您的 closeLeftViewBouncing 中,只需设置:

[controller setCenterController:dataNavigationController];
于 2012-12-26T04:00:20.020 回答
0

当您将视图控制器推送到导航控制器时,它总是有一个导航栏。但是您并没有将视图控制器与您的代码一起推送。
在我的 Objective-C 抄写本中,我写了一个小程序来说明如何做到这一点:

  1. 创建一个导航控制器并将其设置为窗口的根视图控制器,然后将第一个视图控制器添加到导航控制器;
  2. 以您可以更改视图的方式将条形按钮项添加到视图控制器的导航项。该导航项应该具有推动另一个视图控制器的操作。
于 2012-12-26T03:16:22.290 回答