Uiview 设置从情节提要加载的UINavigationController的宽度

Uiview 设置从情节提要加载的UINavigationController的宽度,uiview,uinavigationcontroller,storyboard,Uiview,Uinavigationcontroller,Storyboard,我正在为iPad应用程序使用ECSlidingViewController,我正在尝试将UINavigationController作为主页面(菜单),该主页面将显示在主UIViewController的左侧 要做到这一点,UINavigationCOntroller需要一个特定的宽度,否则它会变为不需要的全宽 我正在使用故事板并加载ViewController,如下所示: - (void)viewDidLoad { [super viewDidLoad]; // Setup

我正在为iPad应用程序使用ECSlidingViewController,我正在尝试将UINavigationController作为主页面(菜单),该主页面将显示在主UIViewController的左侧

要做到这一点,UINavigationCOntroller需要一个特定的宽度,否则它会变为不需要的全宽

我正在使用故事板并加载ViewController,如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Setup the view controllers
    self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainTop"];    
    self.underLeftViewController  = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
}

我怎样才能将这个宽度限制为320px?我知道我必须设置框架,它只是在哪里以及如何设置。

好的,一旦我考虑过,这其实很容易。我确保我的菜单viewcontroller嵌入到情节提要中的UINavigationController中。从菜单VC中删除情节提要ID,并将其添加到UINavigationController

然后,我将UINavigationController子类化,并将以下内容添加到viewDidLoad方法中:

- (void)viewDidLoad
{
    [super viewDidLoad]; 

    [self.slidingViewController setAnchorRightRevealAmount:320.0f];
    self.slidingViewController.underLeftWidthLayout = ECFixedRevealWidth;

}
从原始菜单VC viewDidLoad方法中删除该代码。读取ECSlidingViewController添加ECFixedReveal的文档将调整VC的大小以匹配setAnchorRightRevealAmount值


现在,我在显示的左侧菜单中有一个导航控制器。

您不能只在导航控制器中嵌入leftviewcontroller吗?是的,这就是我试图做的,但要使其仅为320px宽,它默认为全宽