我正在为一个iPad应用程序使用ECSlidingViewController,我正在尝试将UINavigationController作为主页面(菜单),它将显示在主UIViewController的左侧。
要做到这一点,UINavigationCOntroller需要一个特定的宽度,否则它将达到全宽度,这是不希望的。
我正在使用故事板并加载viewControllers,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
// Setup the view controllers
self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainTop"];
self.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
}
如何将此宽度限制为320px?我知道我必须设置框架,它只是在哪里以及如何。
答案 0 :(得分:0)
一旦我想到这一点,这实际上很容易。我确保我的菜单viewcontroller嵌入了故事板中的UINavigationController。从菜单VC中删除了storyboardID并将其添加到UINavigationController。
然后我将UINavigationController子类化,并将以下内容添加到viewDidLoad方法中:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.slidingViewController setAnchorRightRevealAmount:320.0f];
self.slidingViewController.underLeftWidthLayout = ECFixedRevealWidth;
}
从原始菜单VC viewDidLoad方法中删除该代码。读取ECSlidingViewController的文档,添加ECFixedReveal将调整VC的大小以匹配setAnchorRightRevealAmount值。
现在我在左侧显示的菜单中有一个导航控制器。