0

我正在使用IIViewDeckController并且我希望始终打开左侧控制器并调整中心视图的大小,以便布局看起来类似于UISplitViewController.

根据文档:

可以让 viewController 始终显示一个侧控制器。为此,您可以将 maxSize 值设置为任何(正)非零值。这将强制始终打开中心视图,从而永久公开侧控制器。这仅在您指定了一个侧控制器时才有效(这意味着左侧控制器或右侧控制器),因为如果您能够在两个方向上滑动中心视图,这种情况就没有意义。当您有 2 个侧控制器时,此属性将被忽略。

我已经完全按照它所说的做了,但它并不总是显示侧面控制器:

PUCNews *news = [[PUCNews alloc] init];
UINavigationController *newsNav = [[UINavigationController alloc] initWithRootViewController:news];
[puc.cachedViewControllers setObject:newsNav forKey:@"news"];
PUCLeftNavigationViewController *leftNav = [[PUCLeftNavigationViewController alloc] init];
IIViewDeckController *deckController = [[IIViewDeckController alloc] initWithCenterViewController:newsNav leftViewController:leftNav];
deckController.openSlideAnimationDuration = 0.20f;
deckController.closeSlideAnimationDuration = 0.20;
deckController.centerhiddenInteractivity = IIViewDeckCenterHiddenNotUserInteractiveWithTapToClose;
deckController.elastic = NO;
if ([Utility isIpad]) {
    //deckController.leftSize = 200;
    deckController.maxSize = 500;
    //deckController.sizeMode = IIViewDeckLedgeSizeMode;
    [deckController toggleLeftViewAnimated:NO];
    deckController.centerhiddenInteractivity = IIViewDeckCenterHiddenUserInteractive;
    deckController.resizesCenterView = YES;
    deckController.panningMode = IIViewDeckNoPanning;
}

这也导致了一些非常奇怪的旋转问题。

如何始终打开左侧控制器并调整中心视图的大小以使其适合屏幕的其余部分?

4

1 回答 1

3

这个我用过

self.leftController = leftController;
self.leftSize = 700;
[self openLeftViewAnimated:NO];

这对我有用,因为我想要左侧尺寸的小空间。之后您可能需要使用尺寸,但这有效!

希望它可以帮助你。

干杯

于 2013-06-06T14:07:37.053 回答