2013-06-05 3 views
0

Я использую IIViewDeckController, и я бы хотел, чтобы левый контроллер остался открытым и изменил размер в центре, так что макет похож на UISplitViewController.IIViewDeckController с левым, всегда показывающим на iPad

Согласно документации:

Можно иметь ViewController всегда показывают боковую контроллер. Вы делаете это, устанавливая значение maxSize для любого (положительного) ненулевого значения. Это приведет к тому, что centerview будет всегда открыт, постоянно разоблачает боковой контроллер. Это работает только тогда, когда вы указали ONE sidecontroller (это означает либо левый контроллер , либо правый контроллер), поскольку этот сценарий не имеет смысла , если вы сможете скользить по центру в обоих направлениях. Когда у вас есть 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; 
} 

Это также вызывает некоторые очень странные вопросы вращения.

Как всегда я могу открыть левый контроллер и изменить размер моего центра, чтобы он находился в остальной части экрана?

ответ

3

Я использовал это,

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

это работает для меня, потому что я хочу, небольшое пространство в левом размере. Вероятно, вам нужно играть с размером потом, но это работает!

Надеюсь, это поможет вам.

Cheers

+0

Знаете ли вы, для чего используется 'maxSize'? –

+0

Ну, я попытался использовать его (как говорится в руководстве в github), чтобы переместить колоду, но работал точно так же, как 'self.leftSize' Итак, может быть, вы должны попросить здесь дать точный ответ: https : //github.com/Inferis/ViewDeck/issues –